0

如果我想從我的MainActivity啓動一個AlertDialog,它本身應該是一個Activity(因爲我需要將AlertDialog的信息傳遞迴MainActivity),那麼通常的編碼概念是什麼?我必須在DialogActivity或Activity中擴展Dialog嗎?我不確定對話框本身是否應該是Activity,或者Activity是否應該調用AlertDialog?你能給我一個提示嗎?Android編碼概念:AlertDialog作爲Activity?

我的主要問題是我有3個AlertDialogs,最後2個取決於第一個AlertDialog的選擇(所以調用nr2或nr3)。我必須將信息從最後一個對話框傳遞迴MainActivity,所以我認爲唯一干淨的方法就是用不同的活動來解決這個問題。

[更新]
的解決方案是創建不同的活動,它看起來像對話框(見接受的答案)。接下來的問題是將一些數據從活動A傳遞給B並將結果傳回A.這對Intents來說非常簡單。
答: startActivityForResult(...)
B: startActivity(...); addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT);
C:的setResult(...)
答:從onActivityResult(...)獲取數據

+0

有隻正常顯示一個對話框的任何問題,然後,通過onClickListener,顯示其他對話框中的一個? – Nutomic

+0

@Nutomic是的,因爲這會導致不明確的意大利麪代碼。第二個對話框更復雜,而不僅僅是一個簡單的列表。 – Bevor

回答

0

沒有可以用來顯示一個類似的對話活動的對話主題。

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

結合startActivityForResult()和setResult(),你應該能夠創建你想要的。

0

我認爲首選方式是使用dialogfragment

+0

也許,但我爲API級別7開發。 – Bevor

+1

在這種情況下使用支持庫:http://developer.android.com/training/basics/fragments/support-lib.html – MrChaz

+0

好的謝謝,我會保持它但現在我已經交換了我的OP所描述的那些醜惡的概念,這就是沃倫·福斯提出的「活動」。這似乎很好(現在)。 – Bevor