Java 如何在Android Studio上的RecyclerView上设置OnClickListener

Java 如何在Android Studio上的RecyclerView上设置OnClickListener,java,android,android-recyclerview,Java,Android,Android Recyclerview,我想把setOnClickListener放在我在教程后面的recyclerview上,问题是,我不知道放在哪里,我与应用程序的所有其他功能混在一起了,我相信代码必须放在这里的某个地方: 这是我的示例适配器: public class ExampleAdapter extends RecyclerView.Adapter<ExampleAdapter.ExampleViewHolder>{ private ArrayList<ExampleItem> mExamp

我想把setOnClickListener放在我在教程后面的recyclerview上,问题是,我不知道放在哪里,我与应用程序的所有其他功能混在一起了,我相信代码必须放在这里的某个地方:

这是我的示例适配器:

public class ExampleAdapter extends RecyclerView.Adapter<ExampleAdapter.ExampleViewHolder>{
    private ArrayList<ExampleItem> mExampleList;

    public static class ExampleViewHolder extends RecyclerView.ViewHolder {
        public ImageView mImageView;
        public TextView mTextView1;
        public TextView mTextView2;

        public ExampleViewHolder(View itemView) {
            super(itemView);
            mImageView = itemView.findViewById(R.id.imageView);
            mTextView1 = itemView.findViewById(R.id.textView);
            mTextView2 = itemView.findViewById(R.id.textView2);
        }
    }

    public ExampleAdapter(ArrayList<ExampleItem> exampleList) {
        mExampleList = exampleList;
    }

    @Override
    public ExampleViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.example_item,
                parent, false);

        ExampleViewHolder evh = new ExampleViewHolder(v);
        return evh;
    }

    @Override
    public void onBindViewHolder(ExampleViewHolder holder, int position) {
        ExampleItem currentItem = mExampleList.get(position);

        holder.mImageView.setImageResource(currentItem.getImageResource());
        holder.mTextView1.setText(currentItem.getText1());
        holder.mTextView2.setText(currentItem.getText2());
    }

    @Override
    public int getItemCount() {
        return mExampleList.size();
    }

    public void filterList(ArrayList<ExampleItem> filteredList) {
        mExampleList = filteredList;
        notifyDataSetChanged();
    }
}
公共类ExampleAdapter扩展了RecyclerView.Adapter{
私有ArrayList mExampleList;
公共静态类ExampleViewHolder扩展了RecyclerView.ViewHolder{
公共图像视图mImageView;
公共文本视图mTextView1;
公共文本视图mTextView2;
公共示例ViewHolder(视图项视图){
超级(项目视图);
mImageView=itemView.findviewbyd(R.id.imageView);
mTextView1=itemView.findviewbyd(R.id.textView);
mTextView2=itemView.findviewbyd(R.id.textView2);
}
}
公共示例适配器(ArrayList示例列表){
mExampleList=示例列表;
}
@凌驾
公共示例ViewHolder onCreateViewHolder(视图组父级,int-viewType){
视图v=LayoutInflater.from(parent.getContext())。充气(R.layout.example_项,
父母,假);
ExampleViewHolder evh=新的ExampleViewHolder(v);
返回evh;
}
@凌驾
BindViewHolder上的公共无效(例如ViewHolder,int位置){
ExampleItem currentItem=MeExampleList.get(位置);
holder.mImageView.setImageResource(currentItem.getImageResource());
holder.mTextView1.setText(currentItem.getText1());
holder.mTextView2.setText(currentItem.getText2());
}
@凌驾
public int getItemCount(){
返回mExampleList.size();
}
公共无效筛选器列表(ArrayList筛选器列表){
mExampleList=filteredList;
notifyDataSetChanged();
}
}

非常感谢你们,如果你们能帮助我的话。

在你们有recyclerview的活动中使用这个

    rv= (RecyclerView) findViewById(R.id.rv);
rv.setLayoutManager(new LinearLayoutManager(this));
rv.addOnItemTouchListener(
                new RecyclerItemClickListener(this, rv ,new RecyclerItemClickListener.OnItemClickListener() {
                    @Override public void onItemClick(View view, int position) {
                        // do whatever


                    }
                    @Override public void onLongItemClick(View view, int position) {
                        // do whatever
                    }
                })
        );

只需编辑扩展回收视图。ViewHolder实现视图。OnClickListener 并实现OnClick方法,编辑为
publicExampleViewHolder(View itemView){
超级(项目视图);
itemView.setOnClickListener(this);


我想不出来我想不出来我需要时间来解决它,但它是有效的。谢谢
@Override
    public void onClick(View v) {

    }