0

有没有一种方法可以在不使用侦听器或片段中的公共方法的情况下从适配器访问和分配片段中变量的值?从回收站视图适配器访问片段变量

((Activity) context).variable = someValue; 

我们可以使用上面的方法从适配器访问活动变量。但它不能像碎片那样工作。像上面那样的任何方法都适用于碎片?

+0

看看这个线程 http://stackoverflow.com/questions/24372218/access-fragment-from-adapter –

+0

更多类似'((MyActivity)getActivity())setVariable(值);'但不建议。 –

+0

@RaphaelTeyssandier那么推荐的方法是什么? – user2214782

回答

1

您可以这样做,当您创建适配器时,将片段作为参数传递。

MyAdapter adapter = new MyAdapter(MyFragment fragmentA,...); 

然后在适配器内部,您可以通过简单地引用它来使用该fragmentA实例。

如果你不想直接在你的碎片对象类型传递到您的适配器,您可以:

- 定义一个接口。
- 在片段中实现接口。
- 创建适配器时传递接口实例。

相关问题