gpt4 book ai didi

java - "Cannot resolve symbol ItemClickListener"

转载 作者:行者123 更新时间:2023-11-29 23:21:16 24 4
gpt4 key购买 nike

我可以知道为什么它向我显示“无法解析符号 ItemClickListener”的错误吗?我是否需要添加库或其他东西来解决这个问题,或者我不应该在这里声明它?

public static class FoodViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener{

private ItemClickListener itemClickListener;

public void setItemClickListener(ItemClickListener itemClickListener) {
this.itemClickListener = itemClickListener;
}

View view;
public FoodViewHolder (View v){
super(v);
view= v;
}
public void setName(String title){
TextView post_title = (TextView)view.findViewById(R.id.Menu_Name);
post_title.setText(title);
}
public void setImage(Context ctx, String image){
ImageView menuImage = (ImageView) view.findViewById(R.id.Menu_Image);
Picasso.with(ctx).load(image).into(menuImage);
}

@Override
public void onClick(View v) {

}
}

最佳答案

一般来说,对于 RecyclerView,我们创建一个接口(interface)来处理点击事件。与普通的 Button Click 不同,RecyclerView Click 事件不能直接处理。由于 RecyclerView 是适配器( View 的数据提供者),您不能直接从此处处理项目点击并更新 View 。为此,您需要一个单独的接口(interface),在您的情况下是 ItemClickListener(在您的项目中单独创建一个接口(interface)文件)。在该接口(interface)中,您需要声明一个方法,例如这样的方法

public Interface ItemClickListener{
void onRecyclerViewItemClicked(int position);
}

为您的 View 创建一个 OnClickListener(它存在于单行中。例如:图像、文本等);@Override

public void onBindViewHolder(ViewHolder holder, int position) {
holder.myText.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
itemClickListener.onRecyclerViewItemClicked(position);
//itemClickListener is the Interface Reference Variable
}
});
}

并且在您的 Activity 中,您需要像这样实现此接口(interface)

public class YourActivity extends AppCompatActivity implements ItemClickListener {
....
....
protected void onCreate(Bundle savedInstanceState) {
...
...
}

@Override
public void onRecyclerViewItemClicked(int position) {
//You will get the position of the Item Clicked over recycler view
//You can handle as per your requirement
}
}

执行此操作后,您将监听 Activity 的 recyclerview 的点击事件。然后你可以相应地处理它。如果您还有疑问,请参阅引用资料:
https://stackoverflow.com/a/40584425/8331006
https://stackoverflow.com/a/28304164/8331006

关于java - "Cannot resolve symbol ItemClickListener",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54269370/

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