Мне нужно обновить некоторые приложения. Он уже используется, поэтому я не хочу делать большие изменения ...Как добавить progressDialog или spinner в уже готовое приложение?
Я хочу добавить диалог прогресса или счетчик каждый раз при загрузке новой активности. Я прочитал некоторые статьи и вопросы здесь, как будто я должен использовать AsyncTask и так далее. Но я хочу знать, есть ли более простой способ. Возможно, что-то вроде создания некоторой функции, которая покажет spinner/progressDailog, пока не будет загружен новый макет.
Если вы знаете, что я хочу, вы можете мне сказать, если это возможно? Спасибо
EDIT: У меня есть одна идея. Могу ли я создать макет с помощью счетчика, который будет перекрывать текущий макет? Если да, то как?
EDIT два: AsyncTask
private ProgressDialog progressDialog;
@Override
protected void onPreExecute(){
progressDialog = new ProgressDialog(mContext);
progressDialog.setMessage("Loading...");
progressDialog.setCancelable(false);
progressDialog.setIndeterminate(true);
progressDialog.show();
}
// Some code here
@Override
protected void onPostExecute(CustomAsyncTaskResult<User> result) {
progressDialog.dismiss();
((LoginActivity)mContext).getResult(result);
}
Хорошо, я использовал asynctask, отобразился диалог выполнения, затем исчез, но новый макет был отображен после 5 секунд. Что мне делать? Код указан в вопросе. – kristyna
@ user3808179 Причиной этого является то, что вы должны выполнить инициализацию в методе doInBackground. В настоящее время ваша асинтеза не делает ничего асинхронно. Вы не можете уйти без серьезного рефакторинга - вам нужно изменить способ инициализации деятельности, а именно большую часть инициализации в асинтете. –
Извините за неправильное толкование ... Существует метод 'doInBackgroud()'. Но из метода есть и некоторый код. Это причина, по которой скоро появится диалоги прогресса? – kristyna