アクティビティの上部にいくつかのボタンがあるダイアログボックスがあります。ユーザーがボタンを押すと、ネットワーク要求が発生し、進捗ダイアログが表示されます。したがって、一度に少なくとも2つのダイアログがなければなりません(これは可能ではありません)。 私はここ2つの可能な解決策を参照してください。同時に複数のダイアログ
ボタンが押された- 、メインダイアログを隠し、
- は、単一のダイアログにポップアップするすべてのものをラップし、手でそれを管理する進捗ダイアログを表示し
他の選択肢はありますか?
アクティビティの上部にいくつかのボタンがあるダイアログボックスがあります。ユーザーがボタンを押すと、ネットワーク要求が発生し、進捗ダイアログが表示されます。したがって、一度に少なくとも2つのダイアログがなければなりません(これは可能ではありません)。 私はここ2つの可能な解決策を参照してください。同時に複数のダイアログ
ボタンが押された他の選択肢はありますか?
私は、ネットワーク要求が行われた後に何が起こっているかによって変わってくると思います。
「きれいな」ビューから、私は#1をお勧めし、すべての「アクション」をできるだけ別々にしておきます。これは、取ることができる各アクションのためのより小さいコードセグメントにつながる。
必要に応じて(ネットワーク要求の後でも、まだダイアログの中にいる)、#2も行くことができます。それはもっと多くの仕事をするだけです。この場合、ネットワークリクエスト(AsyncTaskでうまくいけば)が実行されている間に、いくつかの(View.INVISIBLE)プログレスバーをダイアログの中に入れ、必要に応じて表示/非表示にしてください。また、その時間のボタンをsetEnabled(false)します。ユーザ要求によるダイアログキャンセル(バックボタン)に注意してください。
はい、別のオプションがあります。動的に(実行時に)ProgressBar
をダイアログに追加してから、ProgressBar
完了直後に削除します。
<TableLayout
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:stretchColumns="*">
<TableRow>
<TextView
android:text="@string/myText"
/>
</TableRow>
<TableRow android:id="@+id/progressBarHere"/>
<TableRow>
<Button
android:id="@+id/ok"
android:text="@string/ok"
android:layout_width="0dp"
android:layout_weight="1"
/>
<Button
android:id="@+id/cancel"
android:text="@string/cancel"
android:layout_width="0dp"
android:layout_weight="1"
/>
</TableRow>
</TableLayout>
は、その後、コードなめらかでのように:
final TableRow tr = (TableRow) findViewById(R.id.progressBarHere);
ProgressBar pb=new ProgressBar(activity);
//...
tr.addView(pb);
ダイアログは、静的ではありません - 彼らは、サーバからロードされています。アクティビティー・コンテンツ・ビューも表示されます。ようなブラウザのような。だから、次のアプリケーションを待っている間は、アプリケーションの完全な前の状態を見ることができることが重要です。 – note173
[OK]を、これについては何か:あなたはダイアログを使用しないで、あなたはダイアログのように見えるアクティビティを使用します。これを行うには、そのアクティビティのマニフェストに 'android:theme =" @ android:style/Theme.Dialog "'を追加します。あなたのアクティビティはもうフルスクリーンではなく、呼び出しアクティビティをオーバーレイします。あなたの偽の "DialogActivity"を使ってProgressDialogを呼び出すことができます。 – Oliver
私の質問を再開する - 私は同時に2つのダイアログを表示しているので(それでも可能です)しかし、それらのzオーダーは、作成された順番に依存するように見えます(show() 'n、createdではなく)。私の待っているダイアログを毎回作り直したくない...注文をどのように変更するか考えている? – note173