私のアプリケーション-n個のjpg画像からgif画像を作成します。この方法では多くの画像を読み取る必要があるため、時間がかかります。このメソッドの実行時にprogressdialogを表示したいと思います。私を助けてください、どんなアイデアやソースコードの例でも!ありがとう
質問する
637 次
2 に答える
2
UI スレッドで実行するだけの場合 (非推奨)、次のようになります。
private void myMethodThatTakesALongTime() {
ProgressDialog progressDialog;
progressDialog = new ProgressDialog( getActivity() );
progressDialog.setIndeterminate( true );
progressDialog.setMessage( "Please Wait..." );
progressDialog.show();
// Do expensive operations
progressDialog.dismiss();
}
これらすべてを AsyncTask に入れることをお勧めします。次のようになります。
private class MyAsyncTask extends AsyncTask<String, String, String> {
private ProgressDialog progressDialog;
protected void onPreExecute() {
//show your dialog before you start
progressDialog = new ProgressDialog( getActivity() );
progressDialog.setIndeterminate( true );
progressDialog.setMessage( "Please Wait..." );
progressDialog.show();
}
@Override
protected String doInBackground( String... params ) {
// do expensive operations in here
return null;
}
@Override
public void onPostExecute( String result ) {
//dismiss your dialog when done
if ( progressDialog != null && progressDialog.isShowing() ) {
progressDialog.dismiss();
}
}
}
そして、次の行を使用してこれを開始します。
new MyAsyncTask().execute( String[] {} );
于 2012-10-22T17:03:11.010 に答える
0
ここで 2 つのことを行う必要があります。最初にoncreateDialog () メソッドを使用してダイアログを作成します。次に、非同期タスクを使用して長時間実行されるタスクを実行する必要があります。非同期タスクの起動中にダイアログを表示できます。タスクを終了してアクティビティに戻ると、再び閉じることができます。
于 2012-10-22T16:38:50.377 に答える