このコードを使用して、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);
}
}});
...
}
しかし、これには問題があります。アイテムの 1 つをクリックすると、色がグレーに変わります。問題ありません。次に、GridView を下にスクロールすると、灰色の別のアイテムが表示されます。しかし、実際にはチェックしておらず、クリックすることはありません。なんで?修正方法は?