我有很多搜索我创建了一个项目列表的简单数字和复选框哪些是选中和未选中,所以当我快速点击列表上它碰撞 并产生ArrayIndexOutOfBound异常Android:Recycler查看项目快点击它崩溃应用程序
所以我不知道什么是我做错了
这里是我的代码
适配器类
class SingleListItemHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
private TextView mItemDate, mFontSizeCategory;
private ImageView isChecked, isTrack, isUnChecked;
private int fontSize = 13;
SingleListItemHolder(View v) {
super(v);
mFontSizeCategory = (TextView) v.findViewById(R.id.tv_font_size_category);
mItemDate = (TextView) v.findViewById(R.id.tv_recycler_view_list_header);
isChecked = (ImageView) v.findViewById(R.id.iv_recycler_view_list_item_selected);
isUnChecked = (ImageView) v.findViewById(R.id.iv_recycler_view_list_item_unselected);
isTrack = (ImageView) v.findViewById(R.id.iv_track);
v.setOnClickListener(this);
this.setIsRecyclable(false);
}
@Override
public void onClick(View v) {
mSingleItemListModels.get(pos).setSelected(false);
notifyItemChanged(pos, mSingleItemListModels.get(pos));
pos = getAdapterPosition();
mSingleItemListModels.get(pos).setSelected(true);
notifyItemChanged(pos, mSingleItemListModels.get(pos));
}
什么是抛出异常的行? –
mSingleItemListModels.get(pos)。的setSelected(真);它抛出错误 –
你的第一行onCLick应该是pos = getAdapterPosition();然后你可以访问的对象 – Pabel