小编典典

RecyclerView onClick

all

有没有人使用RecyclerView找到一种方法来设置onClickListener项目RecyclerView?我想为每个项目的每个布局设置一个侦听器,但这似乎有点麻烦我敢肯定有一种方法RecyclerView可以监听onClick事件,但我不太明白。


阅读 111

收藏
2022-03-04

共1个答案

小编典典

OnClickListener由于 API
发生了根本性的变化,如果您要为每个项目创建一个,我不会感到惊讶。不过也不是那么麻烦。在您的实施中RecyclerView.Adapter<MyViewHolder>,您应该:

private final OnClickListener mOnClickListener = new MyOnClickListener();

@Override
public MyViewHolder onCreateViewHolder(final ViewGroup parent, final int viewType) {
    View view = LayoutInflater.from(mContext).inflate(R.layout.myview, parent, false);
    view.setOnClickListener(mOnClickListener);
    return new MyViewHolder(view);
}

onClick方法:

@Override
public void onClick(final View view) {
    int itemPosition = mRecyclerView.getChildLayoutPosition(view);
    String item = mList.get(itemPosition);
    Toast.makeText(mContext, item, Toast.LENGTH_LONG).show();
}
2022-03-04