Индикатор выполнения для загрузки активности или загрузки кнопки прогресса

android multithreading progressdialog

1092 просмотра

1 ответ

У меня есть Activity, которая ArrayListзагружает содержимое и создает базу данных с onCreate()более чем 20-30 таблицами. Таким образом, требуется 3 секунды для загрузки действия, прежде чем оно отобразится. Я хочу внедрить индикатор выполнения для обработки этого действия при запуске. Так что пустой экран никогда не появляется и экран, скорее всего, будет живым.

Автор: Nishant Sambyal Источник Размещён: 08.11.2019 11:19

Ответы (1)


0 плюса

Решение

Ваша идея хороша, чтобы показать прогрессбар пользователю. Но для отображения нужно использовать AsyncTask .

Всегда используйте AsyncTask для таких процедур. Его очень легко использовать. Создайте класс, как показано ниже.

public class StoreDataToDB extends AsyncTask<Void, Void, Void> {
    @Override
    protected void onPreExecute() {
        super.onPreExecute();
        progressBar.setVisibility(View.VISIBLE);
    }

    @Override
    protected Void doInBackground(Void... voids) {
        //Do all DB related Task Here
        return null;
    }

    @Override
    protected void onPostExecute(Void aVoid) {
        super.onPostExecute(aVoid);
        progressBar.setVisibility(View.GONE);
    }
}

Делать все БД, связанные с задачей, в методе doInBackground. Вызовите этот класс в OnCreate, как это

new StoreDataToDB().execute();

Вместо представления Progressbar вы также можете использовать ProgressDialog .

Автор: Shabbir Dhangot Размещён: 20.08.2016 01:00
Вопросы из категории :
32x32