Comment obtenir de l'événement click de ligne de la table/ table d'élément?

J'ai une simple disposition de table dans le .fichier xml. Je suis ajoutant des composants au moment de l'exécution.
Voici mon code:

public class Home extends Activity{
TextView tv1; int i;TableRow tbrow;
String [] names = {"First Name","Last Name", "Title","Company","Phone"};
int [] images = { R.drawable.icon,R.drawable.icon,R.drawable.star2,R.drawable.icon,R.drawable.icon}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); 
setContentView(R.layout.main);      
TableLayout ll=(TableLayout) findViewById(R.id.tableLayout1);
TableRow trow=new TableRow(this);
ImageView Image1=new ImageView(this);
ImageView Image2=new ImageView(this);
ImageView Image3=new ImageView(this);
ImageView Image4=new ImageView(this);
tv1=new TextView(this);
trow.setClickable(true);
Image1.setImageResource(R.drawable.blank);
Image2.setImageResource(R.drawable.star2);
Image3.setImageResource(R.drawable.blank);
Image4.setImageResource(R.drawable.blank);
tv1.setText("Brochures");
trow.addView(Image1);
trow.addView(tv1);
trow.addView(Image2);
trow.addView(Image3);
trow.addView(Image4);
trow.setId(0);
ll.addView(trow);
for(i=1;i<5;i++){
tbrow=new TableRow(this);
ImageView img1=new ImageView(this);
tv1=new TextView(this);
CheckBox chk=new CheckBox(this);
ImageView img2=new ImageView(this);
ImageView img3=new ImageView(this);
img1.setImageResource(R.drawable.pdf);
img2.setImageResource(R.drawable.blank);
img3.setImageResource(R.drawable.blank);
tv1.setText(""+names[i]);
tbrow.addView(img1);
tbrow.addView(tv1);
tbrow.addView(chk);
tbrow.addView(img2);
tbrow.addView(img3);
tbrow.setId(i);
Log.e("TAG", "ID: "+tbrow.getId());
tv1.setOnClickListener(new OnClickListener() {                      
@Override
public void onClick(View arg0) {
Toast.makeText(Home.this, ""+tbrow.getId(),
Toast.LENGTH_SHORT).show();
Log.e("TAG", " clicked ID: "+tbrow.getId());
}
});
ll.addView(tbrow);
}
}
}

Chaque fois que je clique sur une des lignes, le onClick() cas de la dernière ligne est déclenchée. Au lieu de l'affichage du texte, j'ai aussi essayé de déclencher la onClick() cas pour la ligne de la table, mais en vain.

Je veux savoir quelle ligne est cliqué. getID(), setID() ne fonctionne pas.

S'il vous plaît aider.

avez-vous essayé OnClickListener pour ligne du tableau @pallavi
tbrow.setOnClickListener(...); toasts 4 lorsque j'essaie de cliquer sur une ligne.
Mais je veux le 1er rang à l'instar de la ligne fixe et l'autre les lignes permettrait de contenir des valeurs. Liste 1ère ligne contient les noms de colonnes et les autres lignes contiennent les données de la colonne. Ce n'est pas possible dans la Grille de droite? 1ère rangée comme constante?
Vous avez écrit: "tbrow.setOnClickListener(...); des toasts 4 lorsque j'essaie de cliquer sur une ligne.". Cela signifie que le port d'écoute d'œuvres, de sorte que vous n'avez qu'à trouver l'erreur dans votre onClick code qui font le même travail pour toutes les lignes.
oui, le onClick est déclenché, mais pas pour chaque ligne de la table ou de la vue du texte.

OriginalL'auteur Pallavi | 2011-09-28