0

TimerTask で AsyncTask を実行するアクティビティがあります。タスクの実行中に ProgressDialog を表示し、完了時に別のアクティビティを開くインテントを起動します。

これが発生したときにのみ ProgressDialog を表示したいのですが、setContentView を省略しても、アプリは引き続きアクティビティ用の小さなウィンドウ ディスプレイを作成します。ProgressDialog を表示することは可能ですか?

このアクティビティのコードを、それを呼び出す親アクティビティに入れることもできますが、このコードを再利用して、必要に応じて他のアクティビティから呼び出すことができるようにしたいと考えています。

4

1 に答える 1

1

ダイアログを表示するためだけにアクティビティを作成するのは最善の方法ではないと思います。通常、ダイアログ ビューは、現在のアクティビティの上に表示されることを意図していません。アクティビティにダイアログのみが含まれ、他には何も含まれていない場合、空の黒い背景の上にダイアログ ウィンドウが浮かんでいるだけであり、これは最良のデザイン アイデアとは言えません。

再利用可能なダイアログが必要な場合は、問題のダイアログをラップするスタンドアロン クラスを作成することをお勧めします。次に、任意のアクティビティからそのクラスをインスタンス化します。そうすれば、ダイアログを適切に使用するだけでなく、再利用可能にすることもできます。

于 2012-04-19T17:21:46.877 に答える