在Activity里面的DialogFragment里面的RecyclerView

时间:2015-08-09 16:34:22

标签: android android-fragments android-recyclerview

当我按下Activity中的按钮时,会弹出DialogFragment。在对话框片段中,有一个看起来像普通列表视图的RecyclerView

我想要的行为是,当我按下RecyclerView的第n行时,DialogFragment关闭,Activity根据与行n关联的值执行某些操作。

似乎ViewHolder必须实现OnClickListener接口。单击某行时,ViewHolder代理应该执行某些操作。代表应该是DialogFragmentDialogFragment反过来与它所附加的Activity进行对话。

如果是这种情况,则ViewHolder必须要求DialogFragment执行某项操作,而DialogFragment会要求Activity执行某些操作。这是正确的方法吗?如何将DialogFragment的引用传递给onCreateViewHolder()Adapter是否应该引用DialogFragment

1 个答案:

答案 0 :(得分:2)

是的,你正朝着正确的方向前进。在适配器的构造函数中传递DialogFragment的引用。触发引用并触发所需的单击事件后,在对话框的引用上调用getActivity()以获取对该活动的引用。然后你可以在活动中做任何你想做的事情。另外,我建议你使用接口实现监听器。你想要做的是让DialogFragment对底层活动不可见,你的适配器松散地耦合到DialogFragment,在这种情况下接口将有所帮助。