0

我正在使用 android 中的列表视图并希望将颜色替换为列表视图?

我的代码:

String listview_array[] = { "1. Test1", "2. Test2" }

public void onCreate(Bundle icicle) {
    super.onCreate(icicle);
    setContentView(R.layout.main);
    lv = (ListView) findViewById(R.id.listview);

    lv.setAdapter(new ArrayAdapter<String>(this,
            R.layout.listview_header_row, listview_array));
    lv.setTextFilterEnabled(true);
}

有什么建议么?

4

2 回答 2

1

为此使用自定义适配器

public class MySimpleArrayAdapter extends ArrayAdapter<String> {
  private final Context context;
  private final String[] values;

  public MySimpleArrayAdapter(Context context, String[] values) {
    super(context, R.layout.rowlayout, values);
    this.context = context;
    this.values = values;
  }

  @Override
  public View getView(int position, View convertView, ViewGroup parent) {
    LayoutInflater inflater = (LayoutInflater) context
        .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View rowView = inflater.inflate(R.layout.rowlayout, parent, false);

    //Do assigning here Then change color

    if ((position%2)==0) {
      rowView.setBackgroundColor(R.color.first);
    } else {
      rowView.setImageResource(R.color.second);
    }

    return rowView;
  }
} 

有关自定义适配器的更多信息,请参阅

于 2013-07-31T11:07:49.023 回答
0

您在列表视图中设置数组内容 listview_array[] 的方式,您可以制作颜色数组并将其放在 listview 的背景上。使用数组位置作为列表颜色位置。这可能会解决你的问题:)

于 2013-07-31T11:02:56.697 回答