当在列表视图中选择某个项目时,我正在更改背景,但是每次向下滚动时,我都会丢失选定的项目
选择器.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android">
   <item android:drawable="@android:color/darker_gray" android:state_selected="true"/>
</selector>

适配器
holder.cardView.setOnClickListener(new View.OnClickListener() {
  @Override
  public void onClick(View v) {
    boolean selected = v.isSelected();
    v.setSelected(!selected);
  }
});

如何保持背景状态?

最佳答案

你的观点正在被回收利用。您需要跟踪其他地方的选定视图(如整数列表,其中保留选定视图的位置)。
然后,在适配器的getview中,根据列表是否包含位置来设置所选的stated。

public View getView(int position, View convertView, ViewGroup parent) {
     ...
     view.setSelected(mSelected.contains(position));
     ...
}

10-07 19:30
查看更多