2010-07-30 61 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 – 2015-03-30 22:22:13

+1

OP的问题在ProgressBar而不是ProgressDialog上。那么任何方式来消除ProgressBar? – iamprem 2015-05-31 22:25:04