2011-06-22 84 views
0

這是我的代碼冷凍進度對話框的Android

public void DownloadROM(View view) { 
      progressDialog = new ProgressDialog(ROMManager.this); 
      progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER); 
      progressDialog.setMessage("Downloading ROM Repository\nPlease standby"); 
      progressDialog.show(); 
      gotoList(view); 
      Log.v("ROMManager", "Showing download List"); 
    } 

    public void gotoList(final View view){ 
      Thread background = new Thread(new Runnable(){ 
        public void run() { 
        Intent i = new Intent(ROMManager.this, DownloadList.class); 
         startActivity(i); 
      } 
      }); 
      background.start(); 
    } 

問題是,當我打電話DownloadROM,出現進度對話框,但微調不動,這是我最後一次嘗試,之前只有1種方法 謝謝。

回答

1

不知道,但也許問題是,啓動progressDialog的活動不再處於「焦點」,而是DownloadList活動。

也許你可以嘗試在DownloadList Activity中處理progressDialog。

編輯: 你需要顯示進度在你的第二活動最開始的對話框,不是你的第一個。你需要在AsyncTask中完成數據下載工作。

Source

+0

感謝您的回答。試過這種方式,只是讓事情變得更加困難,而且它不起作用。奇怪的是,它顯示進度條,但不移動..我想startActivity它正在這樣做 – user809486

+0

檢查我的答案編輯。 – BrainCrash

+0

謝謝,AsyncTask它真的很好,但在這種情況下,我不知道如何實現它,因爲第二個活動它是一個ListActivity。 – user809486

2

使用的AsyncTask。

DownloadTask extends AsyncTask<Type, Void, Type> 
    @Override 
    protected void onPreExecute() { 
    dialog = ProgressDialog.show(view.getContext(), "Loading", "Loading"); 
    } 
    @Override 
    protected Type doInBackground(Type... params) { 
     //Do something with the data 
     return data; 
    } 

    @Override 
    protected void onPostExecute(Type result) { 
     dialog.dismiss(); 
     //Return the data 
    } 

可以找到文檔here。例如可以找到here