重用片段结构并传递复杂参数

时间:2012-10-25 09:01:33

标签: android android-fragments listener bundle android-alertdialog

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

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

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

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

您是否找到了更好的解决方案?

谢谢!

1 个答案:

答案 0 :(得分:0)

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

在这里查看一下newInstance()方法也被用作示例: http://developer.android.com/reference/android/app/Fragment.html