2012-07-27 36 views
0

我已經做了一個圖像下載線程從慾望網址下載圖像。在那個線程上,我使用了一個進度對話框,但進度對話框在3或4秒後沒有轉動,看起來它被掛起。但後臺工作是可以的。我的問題是,進度對話框沒有變成什麼?它看起來像什麼? 我在開始位置使用此代碼。爲什麼ProgressDialog並不總是在我的android應用程序中運行?

imageUploadhandler.postDelayed(runImageUpload, 500); 
     dialog = ProgressDialog.show(AllProductActivityPictGrid.this, "", 
       "Message...", true); 
     dialog.setCancelable(true); 
+0

你是什麼意思轉身? – 2012-07-27 06:20:57

+0

接受你以前的問題的答案.. – Ronnie 2012-07-27 06:44:33

回答

0

嘗試在下載完成後使用dialog.dismiss()。

請使用以下代碼調用進度對話框。

ProgressDialog progressDialog = new ProgressDialog(context); 
    progressDialog.setMessage("Please Wait..."); 
    progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER); 
    progressDialog.show(); 

    After completion of your task call progressDialog.dismiss(); 
+0

我完成作業後使用了dialog.dismiss()。完成這項工作後就完成了。但是我的問題是進度對話框在某些時候沒有轉動。 – TKumar 2012-07-27 06:34:37

+0

@TKumar請在我的帖子中找到更改並嘗試使用它。 – Akshay 2012-07-27 06:40:12

2

你的對話框掛起,因爲如果您的實例在HandlerActivity,然後你郵寄到Handler一切都將在UI線程上運行,而不是在後臺線程。

做下載並在AsyncTask中創建ProgressDialog

1

也許你應該看看AsyncTask

protected void onPreExecute() { 
     progressDialog=ProgressDialog.show(context,"Please Wait..","Retrieving data from device",false); 
    } 


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

    //background stuff here 

    return ""; 
} 

protected void onPostExecute(String result) { 

     progressDialog.dismiss(); 
     Toast.makeText(context, "Finished", Toast.LENGTH_LONG).show(); 

} 
相關問題