我在提问之前尝试过查看类似的帖子,但我不太明白。我已经实现了如下所示的自定义界面: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
提交
取消