4 votes

Obtenir l'élément cliqué : Android

J'ai une mise en page gonflée dynamiquement.

<TableLayout>
   <!-- Two more tablelayout here -->
   <ScrollView>
      <TableLayout>
         <!-- Here a tablerow is added using inflate layout -->
      <TableLayout>
   </ScrollView>
 </TableLayout>

La mise en page de la ligne du tableau ressemble à ceci.

<?xml version="1.0" encoding="utf-8"?>
<TableRow xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" 
style="@style/savedItemRow">

<TableLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
    <TextView 
        style="@style/textviewSaved"
        android:id="@+id/text_item"/>
    <TextView
            android:id="@+id/text_item_responce"
            style="@style/textviewSavedSub" />

</TableLayout>
</TableRow>

Je voudrais écouter lorsque l'id de text_item est cliqué (en gardant à l'esprit que j'ai des tablerows créés dynamiquement au moment de l'exécution).

Je suis un noob Android. Je ne suis pas sûr d'avoir posé la question de la bonne façon. Je veux obtenir les propriétés de l'élément cliqué d'une manière ou d'une autre pendant l'exécution afin de pouvoir les manipuler. Merci.

6voto

ρяσѕρєя K Points 51253

Ajouter Android:clickable dans le TexView Layout pour rendre le TextView cliquable :

android:clickable="true"

et dans la partie code :

TextView text = new TextView(this);
text.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
text.setText("YOUR TEXT");
text.setId(5111);
text.setClickable(true);
text.setOnClickListener(handler);
View.OnClickListener handler =new View.OnClickListener() {
public void onClick(View v) {
    switch (v.getId()) {
        case R.id.mytextviewone: // doStuff
            break;
        case R.id.mytextviewone: // doStuff
            break;
    }
}

}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X