2010-10-26 17 views
0

HI,Problème avec l'affichage du tableau dans Android, S'il vous plaît aider

Je veux créer une table dans android, devrait contenir beaucoup de lignes. Chaque ligne a 4 colonnes, et si je clique sur une vue, je veux intégrer l'événement onClick pour la vue. J'ai développé quelque chose de similaire à l'exigence, mais n'a pas obtenu la vue de clic, Voici mon code:

LinearLayout lLayout1 = null; LinearLayout main_lLayout = null; LinearLayout lLayout2 = null; TextView myText [] = nouveau TextView [12];

LinearLayout myLayout[] = new LinearLayout[12]; 
@Override 
public void onCreate(Bundle icici) { 
    super.onCreate(icici); 

    main_lLayout = new LinearLayout(this); 

    main_lLayout.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, 
              LayoutParams.WRAP_CONTENT)); 
    main_lLayout.setOrientation(LinearLayout.VERTICAL); 
    int k = 0; 
    for(int i=0;i<4;i++) { 
     myLayout[i] = new LinearLayout(this); 

     for(int j=0;j<4;j++) { 
      myText[j] = new TextView(this); 
      myText[j].setText("asdf"+i+j); 
      myText[j].setPadding(0, 0, 20, 10); 
      myText[j].setClickable(true); 
      myText[j].setId(k); 
      myText[j].setOnClickListener(this); 
      k++; 
      System.out.println(k); 
      myLayout[i].addView(myText[j]); 

     }  
     main_lLayout.addView(myLayout[i]); 

    }  
    setContentView(main_lLayout); 
} 

@Override 
public void onClick(View v) { 

    System.out.println(myText[0].getText()); 
    System.out.println(myText[10].getText()); 

} 

Répondre

0

Vous avez une mauvaise gestion de la baie ... il vous instanciation 16 TextViews mais seulement les affecter aux 4 premiers éléments de myText. Si vous corrigez cela, je trouve que le gestionnaire de clic est appelé comme prévu.