2010-05-05 23 views
1

J'ai un TableLayout sur une interface utilisateur Android. Il a deux colonnes. Maintenant, je dois ajouter une nouvelle ligne, et mettre une zone EditText dans la deuxième colonne de cette nouvelle ligne. Et aussi, je veux que EditText remplisse toute la cellule. J'ai un code comme ceci:Comment définir un EditText dans une certaine colonne d'un TableLayout?

TableRow tr = new TableRow(context); 
EditText et = new EditText(context); 
et.SetMaxLines(4); 
etText.setLayoutParams(new TableRow.LayoutParams(1)); //set it to the second coloumn 

tr.addView(et); 

tl.addView(tr); //tl is the tableLayout 

Il met l'EditText dans la deuxième colonne bien, mais le EditText est trop petit. J'ai essayé d'utiliser etText.setLayoutParams (new LayoutParams (LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); mais cela semble avoir désactivé le paramètre TableRow.LayoutParams. Je suppose que chaque contrôle ne peut avoir qu'un paramètre LayoutParamas. Alors, comment faire EditText en tant qu'éditeur de texte 4 lignes et assurez-vous également qu'il est dans la deuxième colonne de cette ligne?

Merci.

Répondre

0

Peut-être quelque chose comme:

TableRow.LayoutParams params = TableRow.LayoutParams (LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);

params.colonne = 1;

etText.setLayoutParams (params);

0

Ceci est pour MonoDroid, mais vous devriez être en mesure de convertir Java

EditText et = new EditText(this); 
var param = new TableRow.LayoutParams(1); 
et.LayoutParameters = param; 

il suffit de changer 1 à quelle que soit la colonne de votre table que vous voulez que le edittext apparaisse dans.