¿Cómo puedo fijar el color de fondo diferente para cada fila en listview?
¿Quiero fijar diverso color de fondo en cada fila de listview? Utilicé el adaptador de encargo para el listview . Debe aparecer cuando la carga de la actividad cargas diferentes.
- Aparece una imagen incorrecta en mis filas ListView
- Cómo desplazar un ListView en android programatically a hasta gesto hacia abajo
- ListView de Android con casillas de verificación?
- Android: deshabilitar la selección de ListView Resaltar pero mantener OnClick habilitado
- Listview items Animación Parar mientras se desplaza
- ViewHolder ArrayIndexOutOfBoundsException: longitud = 2; Índice = 2
- Agregar botón a cada fila de la vista de lista
- Tratando de coger un clic en android ListView item: android: descendantFocusability = "blocksDescendants" no funciona
- Cómo determinar si una vista es visible en un ListView?
- Android: cambia dinámicamente la imagen en Listview
- Android: deslizar el elemento de la lista causa clickOnItem
- Centralización de diseño de Android en RelativeLayout para ListView personalizado
- Cómo cambiar el color del texto del elemento de lista simple
Como usted dijo que usted tiene uso el adaptador de encargo para el listview entonces lo que usted necesita hacer está abajo. En el método getView
de tu adaptador debes establecer el color de fondo de la vista de lista de tu lista de xml.
En el getView(...) method
if (position == 0) { view.setBackgroundResource(R.drawable.bg_list_even); } else if (position == 1) { view.setBackgroundResource(R.drawable.bg_list_odd); } else...
Actualizar::
@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; }
Clase titular
public class ViewHolder { public TextView title; public TextView description; }
Hacer una matriz como se indica a continuación como no de elemento de lista i supongo u tiene cinco elementos
int[] color_arr={Color.BLUE,Color.CYAN,Color.DKGRAY,Color.GREEN,Color.RED};
Y después de hacer en ur getView método de adaptador de cliente como a continuación
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); }
- ¿Se puede utilizar Spring Framework en aplicaciones android?
- Apertura del cliente de correo electrónico a través de Intent (pero no para enviar un mensaje)