1

我已经实现了一个 DialogFragment 类,它显示一个对话框并在按下它的按钮时调用一个自定义侦听器。

由于我想在许多项目中重用这个类,我需要在创建片段时传递监听器。但是我不知道我该怎么做。

我知道我不应该在构造函数中传递侦听器,因为如果必须重新创建片段,Android 可以调用默认构造函数,并且我无法通过 Bundle 参数传递侦听器,因为 Bundle 不支持它。

我发现的唯一解决方案是让活动实现自定义侦听器并在 onAttach 方法中检查它。问题是这种方式会将实现类限制为所有者活动,并且可能不适合应用程序。

你找到更好的解决方案了吗?

谢谢!

4

1 回答 1

0

您通常有一个静态newInstance()方法来创建您的片段并传递您的片段可能需要的任何值。这就是传递你的听众的方法。

看看这里newInstance()也以方法为例:http: //developer.android.com/reference/android/app/Fragment.html

于 2012-10-25T09:16:23.753 回答