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

我已经实现了一个自定义界面,如下所示:

public interface OnChangeColor {
  void onColorChanged();
}


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

class A extends AppCompatActivity {

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


以及适配器内部的实现,该实现不会被调用:

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


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

最佳答案

您需要在活动A中设置接口的实现。

class A extends AppCompatActivity {
private MyAdapter adapter = MyAdapter()
 ....
void passData(){
   OnChangeColor onChangeColor = adapter;
   onChangeColor.onColorChanged();
 }
}


在这种情况下,您将在MyAdapter中的接口实例上调用onColorChanged()

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

07-24 22:19