android - poner - tablas dinamicas html javascript
OnClick cambiar el color de fondo de la tabla (2)
Debe establecer el color de fondo de su fila en una lista de estado dibujable (que maneja selección, presionada, activa, no activa).
http://developer.android.com/guide/topics/resources/drawable-resource.html#StateList
El XML debería verse más o menos 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 estoy tratando de encontrar una manera fácil de cambiar el color de fondo o la fila de una tabla cuando se hace clic. He estado tratando de encontrar una forma de llamar el color de fondo y verificarlo, pero no he encontrado una forma de llamar el color. Esto es lo que tengo ahora.
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 puedas ver lo que estoy tratando de lograr. Si no, lo que quiero hacer es hacer que el inicio de la fila de la tabla sea transparente. Cuando alguien hace clic en la fila de la mesa, quiero que cambie a amarillo. Luego, si vuelven a hacer clic, quiero que vuelva a ser transparente. Gracias.
Así que aquí está lo que terminó funcionando. Asegúrese de nombrar sus TableRows. Antes de mi en crear tengo
private Table Row 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, ve a tu xml y en la propiedad OnClick agrega RowName o el nombre del vacío público con el que estás trabajando. Disfrutar.