2010-07-30 2 views
1

Я новичок в android сейчас Я разрабатываю приложение, в котором загружается файл. Я хочу показать прогрессбар, пока файл загружается. Я не знаю, где проверить условие для показа индикатора прогресса, а также я не знаю, как отклонить индикатор прогресса.Как отклонить панель прогресса?

ответ

0

Это делается с помощью AsyncTask (интеллектуальной) фона нити и ProgressDialog

Когда AsyncTask начинает мы поднимаем progressdialog с неопределенным состоянием, как только задача закончена, мы закрыть диалоговое окно.

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

private class PrepareAdapter1 extends AsyncTask<Void,Void,ContactsListCursorAdapter > { 
    ProgressDialog dialog; 
    @Override 
    protected void onPreExecute() { 
     dialog = new ProgressDialog(viewContacts.this); 
     dialog.setMessage(getString(R.string.please_wait_while_loading)); 
     dialog.setIndeterminate(true); 
     dialog.setCancelable(false); 
     dialog.show(); 
    } 
    /* (non-Javadoc) 
    * @see android.os.AsyncTask#doInBackground(Params[]) 
    */ 
    @Override 
    protected ContactsListCursorAdapter doInBackground(Void... params) { 
     cur1 = objItem.getContacts(); 
     startManagingCursor(cur1); 

     adapter1 = new ContactsListCursorAdapter (viewContacts.this, 
       R.layout.contact_for_listitem, cur1, new String[] {}, new int[] {}); 

     return adapter1; 
    } 

    protected void onPostExecute(ContactsListCursorAdapter result) { 
     list.setAdapter(result); 
     dialog.dismiss(); 
    } 
} 
+0

Я показывал индикатор выполнения внутри onProgressUpdate, и он не отклонял onPostExecute. Затем я отобразил его onPreExecute, и он работает просто отлично. +1 –

+1

Вопрос OP находится на ProgressBar, а не ProgressDialog. Итак, любой способ отклонить ProgressBar? – iamprem

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