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インスタンスを単に参照するだけで使用できます。

あなたは、あなたのアダプタに直接お使いのフラグメントのオブジェクト型を渡すことができたくない場合は、次の

- インタフェースを定義します。
- フラグメントにインターフェイスを実装します。
- アダプタの作成時にインターフェイスインスタンスを渡します。

関連する問題