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

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

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