2013-05-08 2 views
1

Я новичок в android.I нужно показать индикатор активности во время синхронизации. Нажав кнопку, я перенаправляюсь на новую активность. В этом новом действии я синхронизируюсь. Мне нужно показать индикатор активности при нажатии кнопки до момента его синхронизации.Отображение индикатора активности в android

+1

Что такое индикатор активности? Индикатор выполнения? – vorrtex

+0

Да, я имею в виду прогрессбар. – anjaly

ответ

7

Synchronizing эффективно сетевой задачи и вы должны сделать это на фоне (Async Task) Таким образом, вы можете вызвать AsyncTask в новой деятельности

private class SyncOperation extends AsyncTask<String, Void, String> { 

     ProgressDialog progressDialog; 

     @Override 
     protected String doInBackground(String... params) { 

      // Synchronize code here 

      return null; 
     }  

     @Override 
     protected void onPostExecute(String result) { 
        if (progressDialog.isShowing()) { 
        progressDialog.dismiss(); 
       }    
     } 

     @Override 
     protected void onPreExecute() { 
        if (progressDialog == null) { 
        progressDialog = new ProgressDialog(MainActivity.this); 
        progressDialog.setMessage("Synchronizing, please wait..."); 
        progressDialog.show(); 
        progressDialog.setCanceledOnTouchOutside(false); 
        progressDialog.setCancelable(false); 
       } 
     } 


} 

Сейчас в OnCreate() новой деятельности

SyncOperation syncTask=new SyncOperation(); 
syncTask.execute(); 

Показан погрузчик, такой как

enter image description here

+0

Спасибо за ваш ответ. Но для моего нового класса я уже расширяю класс активности, то как я могу расширить AsyncTask. – anjaly

+0

Просто сделайте это как внутренний класс вашего класса активности –

+0

Отличное решение, оно отлично работает! –

Смежные вопросы