我在提問之前嘗試過查看類似的帖子,但我不太明白。我已經實現了如下所示的自定義界面:public interface OnChangeColor { void onColorChanged();}嘗試從活動中設置顏色,以便回收器視圖項目之一更改顏色:class A extends AppCompatActivity { void passData(){ OnChangeColor onChangeColor = this; onChangeColor.onColorChanged(); }以及適配器內部的實現,它不會被調用:class MyAdapter … implements OnColorChanged{ onColorChanged(){ //Do something }如何使用接口將數據傳回適配器?
2 回答

慕無忌1623718
TA貢獻1744條經驗 獲得超4個贊
接口是任何實現該接口的類都必須遵守的契約。以及如何訪問某個類的功能?只需掌握其instance
. 你MainActivity
沒有實現OnChangeColor Interface
,所以你不能使用this
。你adapter
正在實現,interface
所以你需要使用
OnChangeColor onChangeColor = adapter; // your adapter instance

Cats萌萌
TA貢獻1805條經驗 獲得超9個贊
您需要在活動 A 中設置接口的實現。
class A extends AppCompatActivity {
private MyAdapter adapter = MyAdapter()
....
void passData(){
OnChangeColor onChangeColor = adapter;
onChangeColor.onColorChanged();
}
}
在這種情況下,您將在 MyAdapter 中的接口實例上調用 onColorChanged()
但是,是的...為什么不在適配器類中創建方法并從活動中調用它。您不需要為此提供接口。
添加回答
舉報
0/150
提交
取消