我有一个列表视图,当用户单击某个项目时会更改该项目的背景颜色,但是我还需要它做的是将视图中的第一个项目设置为具有背景颜色,因此如果用户它是“默认”项目不点击任何东西。
我对 listview 的 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;
}
}