Réglage onClickListener à TableRow avec TextViews
Bonne journée à tous.
J'ai un TableLayout
avec trois TextView
s dans chacune de ses lignes. Est-il encore possible d'ajouter OnClickListener
à l'ensemble de la ligne? J'aimerais changer la couleur de fond de la ligne sélectionnée. J'ai mis un OnClickListener
à la TableRow
en faisant ce qui suit, mais la couleur de fond ne change pas:
for(int i =0; i < rowAmount; i++)
{
TableRow tr= new TableRow(this);
TextView rmNo;
TextView s;
TextView p;
rmNo = new TextView(this);
s = new TextView(this);
p = new TextView(this);
rmNo.setText("" + roomNumbers.get(i).toString());
s.setText("" + statuses.get(i).toString());
p.setText("" + priorities.get(i).toString());
tr.addView(rmNo);
tr.addView(s);
tr.addView(p);
tr.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
tr.setBackgroundColor(color.holo_blue_light);
}
});
tblContent.addView(tr);
}
}
Je suis de la création de la TableRows et TextViews programmaticaly parce que leurs données sont extraites à partir d'une base de données.
C'est le XML:
<ScrollView
android:id="@+id/scroll"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/tblTitles">
<TableLayout
android:id="@+id/tblContent"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:layout_below="@+id/ob">
</TableLayout>
</ScrollView>
Toute aide /idées serait grandement apprécié.
Déjà regardé les sources:
Comment puis-je mettre en surbrillance la ligne de la table sur le clic ?
Comment changer la couleur d'arrière-plan d'un TableRow quand concentré?
J'ai besoin de changer la couleur de l'ensemble de la ligne
OriginalL'auteur ClaireG | 2013-07-30
Vous devez vous connecter pour publier un commentaire.
je l'ai testé, et maintenant il fonctionne très bien, essayez d'utiliser
à la place...
j'ai édité la réponse, maintenant, il doit travailler
Cela ne fonctionne toujours pas.
je l'ai testé et il fonctionne très bien, je ne sais pas quel est le problème avec votre code. mais si vous voulez tirer quelque chose comme un défilement tablelayout, je voudrais suggérer à l'aide d'une listview avec un listadapter... mettre un tablelayout dans un scrollview n'est pas le plus pratique.
Je vous remercie pour cette. J'ai réussi à le résoudre en suivant l'exemple 🙂
OriginalL'auteur malimo
shape.xml
Puis ajouter
OriginalL'auteur selva_pollachi
u peut utiliser
tr.setOnClickListener(this);
au lieu de
puis
ont u Id de tr?..puis ce qui s'est passé, quand u cliquez sur le tr?
Il ne se passe rien lorsque je clique sur elle. Oui, j'ai mis un id pour
tr
debug..cocher la case " v " est null ou quoi!!
OriginalL'auteur Bhoomika Brahmbhatt
Qui bulid version de u à l'aide de
essayer cette
ou
OriginalL'auteur Ajay nath