我尝试使用以下代码在我的 GridView 中进行多项选择:
ArrayList<String> selectedItems=new ArrayList<String>();
@Override
public void onCreate(Bundle savedInstanceState) {
...
GridAdapter gridAdapter = new GridAdapter(this, tmp);
gridView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String code=((TextView)view.findViewById(R.id.code)).getText().toString();
int index=selectedItems.indexOf(code);
if(index==-1) {
view.setBackgroundResource(R.drawable.selected);
selectedItems.add(code);
} else {
view.setBackgroundDrawable(null);
selectedItems.remove(index);
}
}});
...
}
但这有一个问题。我单击其中一项,它的颜色变为灰色,没关系。然后我向下滚动我的 GridView 并看到另一个灰色项目。但它并没有检查实际情况,我从不点击它。为什么?如何解决?