Color de fondo del tablerow del cambio de OnClick

Así que estoy tratando de encontrar una manera fácil de obtener el color de fondo o una fila de la tabla para cambiar cuando se hace clic en. He estado tratando de encontrar una manera de llamar a lo que el color de fondo es y comprobarlo, pero no he encontrado una manera de llamar el color. Esto es lo que tengo ahora mismo.

RowName = (TableRow) findViewById(R.id.RowName); RowName.setBackgroundColor(Color.TRANSPARENT); RowName.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { if (RowName.equals(Color.TRANSPARENT)) RowName.setBackgroundColor(Color.YELLOW); else if (RowName.equals(Color.YELLOW)) RowName.setBackgroundColor(Color.TRANSPARENT); } }); 

Sé que está mal. Espero que pueda ver lo que estoy tratando de lograr. Si no, lo que quiero hacer es tener el comienzo de la fila de la tabla de transparente. Cuando alguien hace clic en la fila de la tabla, quiero que cambie a amarillo. Luego, si vuelven a hacer clic en él, quiero que vuelva a ser transparente. Gracias.

Es necesario establecer el color de fondo de la fila en una lista de estado (que maneja seleccionar, presionado, activo, no activo).

http://developer.android.com/guide/topics/resources/drawable-resource.html#StateList

El XML debería verse así:

 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <!-- Active state --> <item android:state_selected="true" android:state_focused="false" android:state_pressed="false" android:drawable="@android:color/transparent" /> <!-- Inactive state--> <item android:state_selected="false" android:state_focused="false" android:state_pressed="false" android:drawable="@android:color/transparent" /> <!-- Pressed state--> <item android:state_pressed="true" android:drawable="@android:color/yellow" /> <!-- Selected state (using d-pad) --> <item android:state_focused="true" android:state_selected="true" android:state_pressed="false" android:drawable="@android:color/yellow" /> </selector> 

Así que aquí está lo que terminó trabajando. Asegúrese de que tiene su TableRows llamado. Antes de mi en crear tengo

private TableRow RowName;

tambien tengo

int estado = 0;

. Luego agrego el código

 public void RowName(View view) { switch (state) { case 0: RowName.setBackgroundColor(Color.YELLOW); state = 1; break; case 1: RowName.setBackgroundColor(Color.TRANSPARENT); state = 0; break; } } 

Para que funcione, vaya al xml y, en la propiedad OnClick, añada RowName o el nombre del void público con el que está trabajando. Disfrutar.

  • Android: ¿Cómo cambiar el color del dataselector en el widget Datepicker?
  • Cambio gradable del color del gradiente de Android
  • Cómo agregar un degradado a los botones en android a través de xml?
  • Android: ¿cambia el color del texto deshabilitado mediante el tema / estilo?
  • ¿Puede textview tener letras en diferentes colores?
  • Los colores predeterminados de Toast de Android y alfa
  • La desactivación de la aceleración de hardware para mapView conduce a redesencuentros constantes
  • Cómo cambiar el color de la burbuja (bajo cursor) en EditView (PROGRAMATICALLY)?
  • Configurar gestos de color a transparente
  • Color de texto del menú emergente de Android (AppCompat)
  • Cómo configurar el color de texto de TextView en código?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.