在尝试询问之前,我曾尝试检查过类似的帖子,但我不太了解。
我已经实现了如下的自定义界面:
public interface OnChangeColor {
void onColorChanged();
}
尝试从活动中设置颜色,以使回收者视图项目之一更改颜色:
class A extends AppCompatActivity {
void passData(){
OnChangeColor onChangeColor = this;
onChangeColor.onColorChanged();
}
以及适配器内部的实现,该实现未被调用:
class MyAdapter … implements OnColorChanged{
onColorChanged(){
//Do something
}
如何使用接口将数据传递回适配器?
答案 0 :(得分:1)
接口是任何实现接口必须遵守的合同。以及如何访问某些类的功能?只需掌握其instance
。您的MainActivity
未实现OnChangeColor Interface
,因此您无法使用this
。您的adapter
正在实现interface
,因此您需要使用
OnChangeColor onChangeColor = adapter; // your adapter instance
答案 1 :(得分:0)
您需要在活动A中设置接口的实现。
class A extends AppCompatActivity {
private MyAdapter adapter = MyAdapter()
....
void passData(){
OnChangeColor onChangeColor = adapter;
onChangeColor.onColorChanged();
}
}
在这种情况下,您将在MyAdapter中的接口实例上调用onColorChanged()
但是,是的。。。为什么不在适配器类中创建方法并从活动中调用它。您不需要为此的界面。