J'ai un problème avec un TableRow, que j'ajoute dynamiquement.Fond Android TableRow
private void addRow(String body) {
LayoutInflater inflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
TableRow row = (TableRow) inflater.inflate(R.layout.customrow,null);
TextView name = (TextView) row.findViewById(R.id.customName);
name.setText(body);
row.setOnLongClickListener(this);
}
Je voudrais cette ligne pour changer la couleur sur onClick
et onLongClick
.
code dans le fichier customrow.xml
est:
<TableRow xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tableRow1"
android:layout_gravity="center"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:gravity="center_vertical"
android:onClick="showOnClick">
<TextView android:id="@+id/customName"
android:textSize="25px"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView"
android:layout_weight="5">
</TextView>
</TableRow>
J'ai essayé d'utiliser android:background="@drawable/clickedbackground"
avec la ligne, mais il ne fonctionne pas.
code dans le fichier clickedbackground.xml
est:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true" android:state_focused="false"
android:state_pressed="false" android:drawable="@android:color/transparent" />
<item android:state_selected="false" android:state_focused="false"
android:state_pressed="false" android:drawable="@android:color/transparent" />
<item android:state_pressed="true" android:drawable="@color/custom" />
<item android:state_focused="true" android:state_selected="true"
android:state_pressed="false" android:drawable="@color/custom" />
</selector>
Tout le monde sait ce que je fais mal (couleur/personnalisé est défini dans un autre xml qui fonctionne)?
Merci
OK. Il y a quelques problèmes de copier/coller :) La ligne est ajoutée dans addRow(), donc c'est un problème de copier/coller. Comme le manque> dans le xml. J'ai essayé avec votre xml, mais cela n'a pas aidé non plus. Le problème est que la ligne ne change pas de couleur lorsqu'elle est pressée. La rangée est là et fonctionne comme je devrais, sauf le changement de couleur. – Bastaix
@Bastaix Je suis désolé mais je ne sais pas ce qui pourrait se passer. Cela devrait fonctionner même sans un écouteur onClick. Oh, attends, essaye de mettre 'android: clickable =" true "' dans la balise 'TableRow'. – bigstones
Non, cela n'a pas aidé non plus. Je vais devoir continuer ma recherche. Je vous remercie – Bastaix