gpt4 book ai didi

android - 为什么我不能从适配器调用方法?

转载 作者:行者123 更新时间:2023-11-29 17:20:05 24 4
gpt4 key购买 nike

我有一个适配器类和一个 Activity ,我想从适配器调用 Activity 方法

Adapter

holder.fab_plus.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
((MainActivity)context).getTotalPrice();

}
});

MainActivity

@Override
public void getTotalPrice() {
Toast.makeText(MainActivity.this, "Your Message Has Been Sent", Toast.LENGTH_SHORT).show();
}

我想从适配器调用 getTotalPrice 方法

最佳答案

试试这个:

holder.fab_plus.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onClicked.getTotalPrice("Price");
}
});

适配器类中的接口(interface):

 public interface OnClicked {
void getTotalPrice(String price);
}

在你的适配器类的顶部:

 private OnClicked onClicked;

并在适配器的构造函数中初始化它,例如:

public MyAdapter(Context context, ...) {
onClicked = (OnClicked) context;
}

现在让您的 Activity 实现如下接口(interface):

public class MyActivity extends Activity implements MyAdapter.OnClicked{
...

@Override
public void getTotalPrice(String price) {
//do whatever you like here
}
}

现在完成了!

关于android - 为什么我不能从适配器调用方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36997889/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com