Android 从回收器视图适配器访问片段变量

Android 从回收器视图适配器访问片段变量,android,android-fragments,fragment,android-recyclerview,Android,Android Fragments,Fragment,Android Recyclerview,有没有一种方法可以从适配器访问片段中的变量并为其赋值,而无需在片段中使用侦听器或公共方法 ((Activity) context).variable = someValue; 我们可以使用上述方法从适配器访问活动变量。但对于碎片,它不是这样工作的。有没有像上面这样的方法可以处理片段?您可以这样做,比如在创建适配器时,将片段作为参数传递 MyAdapter adapter = new MyAdapter(MyFragment fragmentA,...); 然后在适配器内部,您可以通过简单地引

有没有一种方法可以从适配器访问片段中的变量并为其赋值,而无需在片段中使用侦听器或公共方法

((Activity) context).variable = someValue;

我们可以使用上述方法从适配器访问活动变量。但对于碎片,它不是这样工作的。有没有像上面这样的方法可以处理片段?

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

MyAdapter adapter = new MyAdapter(MyFragment fragmentA,...);
然后在适配器内部,您可以通过简单地引用它来使用该片段作为实例

如果不想将片段对象类型直接传递到适配器中,可以:

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

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

MyAdapter adapter = new MyAdapter(MyFragment fragmentA,...);
然后在适配器内部,您可以通过简单地引用它来使用该片段作为实例

如果不想将片段对象类型直接传递到适配器中,可以:

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

看看这个线程,更像是
((MyActivity)getActivity()).setVariable(value),但不推荐使用。@RaphaelTeyssandier那么推荐的方法是什么?是的,或者你可以使用
单例
,或者使用模式
MVP
来构造你的代码。@PedroCardoso那不是我要找的!!!无论如何谢谢你!:)看看这个线程更像
((MyActivity)getActivity()).setVariable(value),但不推荐使用。@RaphaelTeyssandier那么推荐的方法是什么?是的,或者你可以使用
单例
,或者使用模式
MVP
来构造你的代码。@PedroCardoso那不是我要找的!!!无论如何谢谢你!:)