0

直截了当:将输入到 AlertDialog 的数据发送回 AlertDialog 的主机的最佳方式是什么?

我有一个 AlertDialog,它是由在我的 Android 应用程序的 MainActivity 中创建的 DialogFragment 创建的。它具有确定和取消按钮,并使用自定义布局来显示 EditText 框。当用户点击 OK 时,EditText 框的内容应该被发送到 Dialog 的宿主活动 MainActivity 中的一个方法。

我通过在 DialogFragment 中创建一个侦听器来实现这一点,该侦听器在 MainActivity 中实现。侦听器被调用,活动从 EditText 接收 DialogInterface 和一个字符串。它工作得很好,但在代码方面似乎非常复杂,因为在 Dialog 的 onClick 方法中不需要太多额外代码就可以完成。

这真的是传回简单命令的最佳方式,例如在宿主 Activity 中运行带有参数的单个方法吗?或者甚至只是改变宿主活动的变量的值?如果我想在同一个活动中使用不止一类 DialogFragment。我必须实现另一个侦听器,并确保每个侦听器中的方法名称不同?

谢谢。

4

1 回答 1

-1

这是片段和宿主活动相互通信的模式。另一种方式请尝试“Otto event bus”。谷歌一下,你可以找到一些。

于 2013-08-15T21:20:08.707 回答