如何使用MainActivity更改listview中行(特殊)的背景扩展了ListActivity

时间:2014-10-10 04:20:07

标签: android listview background listactivity

我有一个项目,其中MainActivity扩展了ListActivity。 我想在listview中更改一行的背景颜色。 如果MainActivity是扩展Activity我可以改变,我有一个CustomAdapter。然后我重写一个方法getView(),然后我就可以做到。

但我现在无法用我的项目改变它,我无法覆盖方法getView()。请告诉我一个方法。

如果这个艺术是ambigouos,那我就知道了。

1 个答案:

答案 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