![](/img/trans.png)
[英]Android Firebase Recyclerview changes value of wrong item
[英]wrong item changes in recyclerview
大家好,我遇到了這個問題,需要幫助:
每個項目都有一個CheckBox
,我在RecyclerView
為我的項目的根元素設置了setOnLongClickListener
,如下所示:
holder.faviorateVideoItemRelative.setOnLongClickListener(new View.OnLongClickListener() {
public boolean onLongClick(View arg0) {
if (chk_visible)
{
return true ;
}
holder.chk_faviorateVideo.setChecked(!holder.chk_faviorateVideo.isChecked());
chk_visible = true ;
checkedItemsCNT = 1 ;
deleteListVideoCourses.add(data.get(holder.getAdapterPosition())) ;
notifyDataSetChanged() ;
return true ;
}
});
如果我向下滾動,當我長按其中一個項目時,錯誤項目的CheckBox
會被檢查!
大家好,我被困在這里,需要幫助:
每個項目都有一個CheckBox
,我在RecyclerView
為我的項目的根元素設置了setOnLongClickListener
,如下所示:
holder.faviorateVideoItemRelative.setOnLongClickListener(new View.OnLongClickListener() {
public boolean onLongClick(View arg0) {
if (chk_visible)
{
return true ;
}
holder.chk_faviorateVideo.setChecked(!holder.chk_faviorateVideo.isChecked());
chk_visible = true ;
checkedItemsCNT = 1 ;
deleteListVideoCourses.add(data.get(holder.getAdapterPosition())) ;
notifyDataSetChanged() ;
return true ;
}
});
如果向下滾動,當我長時間單擊其中一項時,將選中錯誤項的CheckBox
!
大家好,我被困在這里,需要幫助:
每個項目都有一個CheckBox
,我在RecyclerView
為我的項目的根元素設置了setOnLongClickListener
,如下所示:
holder.faviorateVideoItemRelative.setOnLongClickListener(new View.OnLongClickListener() {
public boolean onLongClick(View arg0) {
if (chk_visible)
{
return true ;
}
holder.chk_faviorateVideo.setChecked(!holder.chk_faviorateVideo.isChecked());
chk_visible = true ;
checkedItemsCNT = 1 ;
deleteListVideoCourses.add(data.get(holder.getAdapterPosition())) ;
notifyDataSetChanged() ;
return true ;
}
});
如果向下滾動,當我長時間單擊其中一項時,將選中錯誤項的CheckBox
!
大家好,我被困在這里,需要幫助:
每個項目都有一個CheckBox
,我在RecyclerView
為我的項目的根元素設置了setOnLongClickListener
,如下所示:
holder.faviorateVideoItemRelative.setOnLongClickListener(new View.OnLongClickListener() {
public boolean onLongClick(View arg0) {
if (chk_visible)
{
return true ;
}
holder.chk_faviorateVideo.setChecked(!holder.chk_faviorateVideo.isChecked());
chk_visible = true ;
checkedItemsCNT = 1 ;
deleteListVideoCourses.add(data.get(holder.getAdapterPosition())) ;
notifyDataSetChanged() ;
return true ;
}
});
如果向下滾動,當我長時間單擊其中一項時,將選中錯誤項的CheckBox
!
大家好,我被困在這里,需要幫助:
每個項目都有一個CheckBox
,我在RecyclerView
為我的項目的根元素設置了setOnLongClickListener
,如下所示:
holder.faviorateVideoItemRelative.setOnLongClickListener(new View.OnLongClickListener() {
public boolean onLongClick(View arg0) {
if (chk_visible)
{
return true ;
}
holder.chk_faviorateVideo.setChecked(!holder.chk_faviorateVideo.isChecked());
chk_visible = true ;
checkedItemsCNT = 1 ;
deleteListVideoCourses.add(data.get(holder.getAdapterPosition())) ;
notifyDataSetChanged() ;
return true ;
}
});
如果向下滾動,當我長時間單擊其中一項時,將選中錯誤項的CheckBox
!
大家好,我被困在這里,需要幫助:
每個項目都有一個CheckBox
,我在RecyclerView
為我的項目的根元素設置了setOnLongClickListener
,如下所示:
holder.faviorateVideoItemRelative.setOnLongClickListener(new View.OnLongClickListener() {
public boolean onLongClick(View arg0) {
if (chk_visible)
{
return true ;
}
holder.chk_faviorateVideo.setChecked(!holder.chk_faviorateVideo.isChecked());
chk_visible = true ;
checkedItemsCNT = 1 ;
deleteListVideoCourses.add(data.get(holder.getAdapterPosition())) ;
notifyDataSetChanged() ;
return true ;
}
});
如果向下滾動,當我長時間單擊其中一項時,將選中錯誤項的CheckBox
!
使用上述解決方案后,
以下解決方案對我來說就像一個魅力。
@Override
public long getItemId(int position) {
return position;
}
@Override
public int getItemViewType(int position) {
return position;
}
當您在整個滾動過程后返回時,使用holder.setIsRecyclable(false)
刪除所需的選擇。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.