RecyclerView的点击事件
【摘要】 目录问题解决 问题问题:RecyclerView可以设置每个对象的点击事件吗?Stackoverflow地址:https://stackoverflow.com/questions/24471109/recyclerview-onclick大家有人使用RecyclerView找到了一种方法,可以为RecyclerView中的每一项设置onClickListener监听方法吗?我打算为每个项目...
目录
- 问题
- 解决
问题
问题:RecyclerView可以设置每个对象的点击事件吗?
Stackoverflow地址:https://stackoverflow.com/questions/24471109/recyclerview-onclick
大家有人使用RecyclerView找到了一种方法,可以为RecyclerView中的每一项设置onClickListener监听方法吗?我打算为每个项目的布局元素设置一个侦听器,但这似乎有些麻烦,我确信有一种方法可以让RecyclerView侦听onClick事件,但我目前想不到。
解决
由于RecyclerView官方的API方法已经发生了重大的变化,如果你想为每个元素项都创建一个单独的OnClickListener监听器,我也不会感到惊讶。不过,这并不困难。你可以在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();
}
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)