android onclicklistener 无作用,android – 为什么ViewHolder上的OnClickListener不...
我正在尝试实现一种在RecyclerView上处理项目选择的方法.我个人不喜欢在一些答案中建议的方式通过手势,我认为实现一个OnClickListener,如建议here和here,是waaay清洁.事实是……这种模式实际上并不起作用!我真的无法理解为什么我的OnClickListener.onClick永远不会被调用.它有点像另一种方法拦截点击之前onClick可以处理它.这是我的代码:publ
我正在尝试实现一种在RecyclerView上处理项目选择的方法.我个人不喜欢在一些答案中建议的方式通过手势,我认为实现一个OnClickListener,如建议here和here,是waaay清洁.
事实是……这种模式实际上并不起作用!我真的无法理解为什么我的OnClickListener.onClick永远不会被调用.它有点像另一种方法拦截点击之前onClick可以处理它.
这是我的代码:
public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
TextView tvName;
ImageView star;
public ViewHolder(View itemView) {
super(itemView);
tvName = (TextView) itemView.findViewById(R.id.CHAT_ITEM_name);
star = (ImageView) itemView.findViewById(R.id.CHAT_ITEM_star);
Fonts.setTypeface(tvName, regular);
}
@Override
public void onClick(View view) {
int position = getLayoutPosition();
select(position);
}
}
不幸的是,能够访问整个数据集中被点击项目的位置非常重要,以便将其删除,所以做一些像indexOfChild这样的事情也是不可接受的:我试过,但是这个方法给你的位置列表的可见部分中的项目,因此使list.remove(位置)不可能.
更多推荐
所有评论(0)