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實例。

如果你不想直接在你的碎片對象類型傳遞到您的適配器,您可以:

- 定義一個接口。
- 在片段中實現接口。
- 創建適配器時傳遞接口實例。

相關問題