Intereting Posts
Можем ли мы увеличить коэффициент усиления микрофона телефона Android? Насколько велика маленькая, нормальная, большая и большая? Как поместить кнопки на изображение в Android? Gridview multiline Textview отключен Определение «resValue» с использованием существующего определения строки Индикатор Viewpager не перемещается Xamarin.Forms: неправильное выравнивание текста кнопки после нажатия (Android) Android: определение того, должен ли код находиться в действии или пользовательском представлении Установка AndEngine в Eclipse Есть ли способ скрыть систему / панель навигации в Android ICS Как преобразовать HashMap в json Array в android? Как исправить предупреждение proguard 'не может найти ссылочный метод' для существующих методов 'clone' и 'finalize' класса java.lang.Object Разница между базовым контекстом, контекстом приложения и контекстом активности Состояние флажка ListView Viewholder ActionbarSherlock не работает

Отображение полосы выполнения во время сетевого вызова

Я хочу показать индикатор выполнения во время вызова веб-службы. Я вызывал индикатор выполнения перед вызовом службы, но он вызывается после завершения вызова службы, и я получил ответ.

ProgressDialog dialog = ProgressDialog.show(LogIn.this,"","Loading. Please wait...", true); status=Loginvalid(method,username,psword); //calling the method for making service call 

Но диалог прогресса начинается после получения ответа от службы. Пожалуйста, как я могу исправить эту проблему.

  public class Progress extends AsyncTask<String, Void, Void> { protected void onPreExecute() { ProgressDialog dialog = new MyProgressDialog(MyActivity.this, "Loading.. Wait.."); dialog.show(); } @Override protected Void doInBackground(String... params) { // TODO Auto-generated method stub // do your network connection return null; } protected void onPostExecute(Void unused) { dialog.dismiss(); } } 

Используйте AsyncTask . Это самый эффективный и безболезненный способ отображения диалогового окна прогресса во время вызова веб-службы.

Покажите progressbar в режиме preexecute, вызовите ваш web-сервис в doInBackground и отпустите панель progress onPostexecute.

http://developer.android.com/reference/android/os/AsyncTask.html

Чтобы правильно показать диалог выполнения, он должен быть выполнен в UIThread, а вся другая работа ( service call ) – в другой. См. Пример здесь .