Androidでアクティビティを開始する前(つまり、アクティビティがデータをロードしている間)に進行状況ダイアログを表示するにはどうすればよいですか?
			
			34276 次
		
2 に答える
            64        
        
		
AsyncTaskにデータをロードし、データのロードが完了したらインターフェイスを更新する必要があります。
AsyncTask のonPostExecute()メソッドで新しいアクティビティを開始することもできます。
具体的には、AsyncTask を拡張する新しいクラスが必要になります。
public class MyTask extends AsyncTask<Void, Void, Void> {
  public MyTask(ProgressDialog progress) {
    this.progress = progress;
  }
  public void onPreExecute() {
    progress.show();
  }
  public void doInBackground(Void... unused) {
    ... do your loading here ...
  }
  public void onPostExecute(Void unused) {
    progress.dismiss();
  }
}
次に、アクティビティで次のことを行います。
ProgressDialog progress = new ProgressDialog(this);
progress.setMessage("Loading...");
new MyTask(progress).execute();
    于 2011-03-05T06:40:15.017   に答える
    
    
            3        
        
		
Android で長時間実行されるプロセスを開始する場合は、常に別のスレッドで実行することをお勧めします。その後、UI スレッドを使用して進行状況ダイアログを表示できます。プロセスが実行されている同じ (UI) スレッドで進行状況ダイアログを表示することはできません。
プロセスを開始するには、次の手順を実行します
pd = ProgressDialog.show(this, "Synchronizing data", "Please wait...");
Thread t = new Thread(this);
t.start();
このために、アクティビティは次のように Runnable を実装する必要があります
public class SyncDataActivity extends Activity implements Runnable
最後に、長期実行プロセスを実行する方法
@Override
public void run() {
      //your code here
}
    于 2011-03-05T06:37:51.450   に答える