我有一个项目,其中MainActivity扩展了ListActivity。 我想在listview中更改一行的背景颜色。 如果MainActivity是扩展Activity我可以改变,我有一个CustomAdapter。然后我重写一个方法getView(),然后我就可以做到。
但我现在无法用我的项目改变它,我无法覆盖方法getView()。请告诉我一个方法。
如果这个艺术是ambigouos,那我就知道了。
答案 0 :(得分:0)
MyAdapter类:
public View getView(int position, View convertView, ViewGroup parent) {
// View view= super.getView(position, convertView, parent);
// if (position == 0) {
// view.setBackgroundColor(Color.GRAY);
// }
// TODO Auto-generated method stub
int pos = position;
View row = convertView;
WeatherHolder holder = null;
if (row == null) {
LayoutInflater inflater = ((MainActivity) context)
.getLayoutInflater();
row = inflater.inflate(layoutResourceId, parent, false);
holder = new WeatherHolder();
holder.imgIcon = (ImageView) row.findViewById(R.id.imgIcon);
holder.txtTitle = (TextView) row.findViewById(R.id.txtTitle);
row.setTag(holder);
} else {
holder = (WeatherHolder) row.getTag();
}
Weather weather = data[position];
holder.txtTitle.setText(weather.titleviet);
holder.imgIcon.setImageResource(weather.iconviet);
if (position == 0) {
row.setBackgroundColor(Color.GRAY);
}
return row;
}
static class WeatherHolder {
ImageView imgIcon;
TextView txtTitle;
}
他们在正位置显示:0,8,16 ...... 我希望它只显示位置:0