如何使用接口将数据传递回适配器

时间:2019-10-25 08:43:34

标签: java android interface adapter recycler-adapter

在尝试询问之前,我曾尝试检查过类似的帖子,但我不太了解。

我已经实现了如下的自定义界面:

public interface OnChangeColor {
  void onColorChanged();
}

尝试从活动中设置颜色,以使回收者视图项目之一更改颜色:

class A extends AppCompatActivity {

 void passData(){
   OnChangeColor onChangeColor = this;
   onChangeColor.onColorChanged();
 }

以及适配器内部的实现,该实现未被调用

class MyAdapter … implements OnColorChanged{
   onColorChanged(){
      //Do something  
   }

如何使用接口将数据传递回适配器?

2 个答案:

答案 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()

但是,是的。。。为什么不在适配器类中创建方法并从活动中调用它。您不需要为此的界面。