【发布时间】:2012-11-28 19:47:02
【问题描述】:
如果我想从我的 MainActivity 启动一个应该是 Activity 本身的 AlertDialog(因为我需要将信息从 AlertDialog 传递回 MainActivity),那么通常的编码概念是什么?我必须在我的 DialogActivity 或 Activity 中扩展 Dialog 吗?我不确定对话框本身是否应该是 Activity 或者 Activity 是否应该以某种方式调用 AlertDialog?你能给我一个提示吗?
我的主要问题是我总共有 3 个 AlertDialogs,最后 2 个取决于第一个 AlertDialog 的选择(因此调用 nr2 或 nr3)。而且我必须将最后一个对话框中的信息传递回 MainActivity,所以我认为唯一干净的方法是使用不同的 Activity 来解决这个问题。
[更新]
解决方案是创建不同的活动,看起来像对话框(请参阅接受的答案)。下一个问题是将一些数据从 Activity A 传递到 B 到 C,然后将结果传回 A。这对于 Intent 来说非常简单。
A: startActivityForResult(...)
B: startActivity(...); addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT);
C: setResult(...)
A: 从 onActivityResult(...) 获取数据
【问题讨论】:
-
正常显示一个对话框,然后通过 onClickListener 显示其他对话框有什么问题吗?
-
@Nutomic 是的,因为这会导致意大利面条代码不清晰。第二个对话框更复杂,不仅仅是一个简单的列表。
标签: android coding-style android-activity android-alertdialog