我如何在Android Studio上的RecyclerView上设置setOnClickListener

时间:2018-03-03 11:20:39

标签: java android android-recyclerview

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

这是我的ExampleAdapter:

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();
    }
}

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

2 个答案:

答案 0 :(得分:1)

在您拥有recyclerview

的活动中使用此功能
{'orange', 'apple'} in res_set  # True

答案 1 :(得分:1)

只需修改extends RecyclerView.ViewHolder implements View.OnClickListener 并实现OnClick方法,编辑为public ExampleViewHolder(View itemView) { super(itemView); itemView.setOnClickListener(this);

@Override
    public void onClick(View v) {

    }