0

MainActivityからAlertDialogを起動したい場合(AlertDialogからMainActivityに情報を返す必要があるため)、それを行うための通常のコーディングの概念は何ですか?DialogActivityまたはActivityなどでDialogを拡張する必要がありますか?ダイアログ自体をアクティビティにする必要があるのか​​、それともアクティビティが何らかの形でAlertDialogを呼び出す必要があるのか​​わかりません。ヒントを教えてください。

私の主な問題は、全部で3つのAlertDialogがあり、最後の2つは最初のAlertDialogの選択に依存することです(したがって、nr2またはnr3のいずれかが呼び出されます)。そして、最後のダイアログの情報をMainActivityに戻す必要があるので、さまざまなアクティビティでそれを解決するのが唯一のクリーンな方法だと思います。

[更新]
解決策は、ダイアログのように見えるさまざまなアクティビティを作成することです(承認された回答を参照)。次の問題は、アクティビティAからB、Cにデータを渡し、結果をAに戻すことでした。これはIntentsを使用すると非常に簡単です。
A: startActivityForResult(...)
B: startActivity(...); addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT);
C: setResult(...)
A: onActivityResult(...)からデータを取得します

4

2 に答える 2

0

ダイアログのようなアクティビティを表示するために使用できるダイアログテーマがあります。

<activity android:theme="@android:style/Theme.Dialog">

startActivityForResult()およびsetResult()と組み合わせると、必要なものを作成できるはずです。

于 2012-11-28T19:51:28.713 に答える
0

望ましいパターンはdialogfragmentを使用することだと思います

于 2012-11-28T21:16:32.490 に答える