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