正如您所说,您已经使用自定义适配器进行列表视图,那么您需要做的就是下面。 在适配器的getView方法中,您需要设置列表行xml的父视图的背景颜色。

在getView(...) method

if (position == 0) { view.setBackgroundResource(R.drawable.bg_list_even); } else if (position == 1) { view.setBackgroundResource(R.drawable.bg_list_odd); } else...

更新::

@Override public View getView(final int position, View convertView, ViewGroup parent) { View view = convertView; ViewHolder holder; if (view == null) { LayoutInflater inflater = (LayoutInflater) activity .getSystemService(Context.LAYOUT_INFLATER_SERVICE); view = inflater.inflate(R.layout.row, null); holder = new ViewHolder(); view.setTag(holder); } else { holder = (ViewHolder) view.getTag(); } holder.title = (TextView) view.findViewById(R.id.txttitle); holder.description = (TextView) view.findViewById(R.id.txtdesc); holder.title.setText("Title" + position); holder.description.setText("Desc" + position); //here set your color as per position if (position == 0) { view.setBackgroundResource(R.drawable.bg_list_even); } else if (position == 1) { view.setBackgroundResource(R.drawable.bg_list_odd); } return view; }

持有人类

public class ViewHolder { public TextView title; public TextView description; }

如下所示,制作一个数组作为列表项的no我假设你有五个项目

int[] color_arr={Color.BLUE,Color.CYAN,Color.DKGRAY,Color.GREEN,Color.RED};

以及如下所示在客户端适配器的getView方法之后

public View getView(int position, View convertView, ViewGroup parent) { LayoutInflater inflater = getLayoutInflater(); View row=convertView; row = inflater.inflate(R.layout.listview_custome, parent, false); row.setBackgroundColor(color_arr[position]);// this set background color TextView textview = (TextView) row.findViewById(R.id.tv_list); ImageView imageview = (ImageView) row.findViewById(R.id.iv_list); textview.setText(data_text[position]); imageview.setImageResource(data_image[position]); return (row); }

public View getView(int position, View convertView, ViewGroup parent) { LayoutInflater inflater = getLayoutInflater(); View rowView = convertView; rowView = inflater.inflate(R.layout.listview_custome, parent, false); rowView.setBackgroundColor(color_arr[position]);// this set background color TextView textview = (TextView) rowView.findViewById(R.id.tv_list); ImageView imageview = (ImageView) rowView.findViewById(R.id.iv_list); textview.setText(data_text[position]); imageview.setImageResource(data_image[position]); if (position == 0) { rowView.setBackgroundColor(Color.BLUE); } else if (position % 2 == 1) { rowView.setBackgroundColor(Color.RED); } else if (position % 2 == 0) { rowView.setBackgroundColor(Color.BLUE); } return (rowView); }

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐