holder.itemView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { // } });
现在,无法使用startActivityForResult。我必须使用启动器,但我不知道该怎么做,因为这是在项目视图中发生的单击事件,我将把图像放在项目视图中我尝试了各种方法,但都是为了活动,所以都不起作用。
o2g1uqev1#
您需要将上下文强制转换为Activity,或者将onClickListener传递给适配器,如下所示1.创建clickListener
public interface MyClickListener { void onItemClick(MyModel model); }
1.在适配器类中:
public class MyAdapter extends RecyclerView.Adapter<ViewHolder> { private MyClickListener onClickListener; public MyAdapter(MyClickListener onClickListener) { this.onClickListener = onClickListener; } ... }
1.在您的方法中:
holder.itemView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { onClickListener.onItemClick(myModel); } });
1.在您的活动中:
MyAdapter adapter = new MyAdapter(new MyClickListener() { public void onItemClick(MyModel model) { /// here you can call startActivityForResult } });
1条答案
按热度按时间o2g1uqev1#
您需要将上下文强制转换为Activity,或者将onClickListener传递给适配器,如下所示
1.创建clickListener
1.在适配器类中:
1.在您的方法中:
1.在您的活动中: