ユーザーがアイテムをクリックするとそのアイテムの背景色が変わるリストビューがありますが、ビューの最初のアイテムに背景色を設定する必要があるため、ユーザーが何もクリックしません。
リストビューの onclick は次のようになります。
list1.setOnItemClickListener(new OnItemClickListener() {
View row = null;
@Override
public void onItemClick(AdapterView<?> a, View v, int position, long id) {
imageURL = (String) (list1.getItemAtPosition(position));
if (row != null) {
row.setBackgroundResource(0);
}
row = v;
v.setBackgroundResource(R.color.selected);
}
});
私の現在のリストアダプターは次のようになります。
class MyListAdapter extends ArrayAdapter<String> {
private ArrayList<String> items;
public MyListAdapter(Context context, int textViewResourceId,
ArrayList<String> items) {
super(context, textViewResourceId, items);
this.items = items;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null) {
LayoutInflater vi = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.image_row_layout, null);
}
String o = items.get(position);
if (o != null) {
SmartImageView tt = (SmartImageView) v.findViewById(R.id.smallimage);
if (tt != null) {
tt.setImageUrl(o);
}
}
return v;
}
}