Las vistas agregadas a TableLayout no se muestran mediante programación

Estoy tratando de agregar vistas a un TableLayout, pero simplemente no se mostrará (estoy probando en un emulador). En realidad, he escrito más código que esto, es decir, agregar textviews a tablerows, pero he reducido a esto, e incluso esto no funcionará. ¿Alguna idea de por qué?

Aquí está el código de test.xml :

 <?xml version="1.0" encoding="utf-8"?> <TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/tableLayout" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TableRow android:id="@+id/tableRow1" android:layout_width="wrap_content" android:layout_height="wrap_content" > </TableRow> <TableRow android:id="@+id/tableRow2" android:layout_width="wrap_content" android:layout_height="wrap_content" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="TEST" > </TextView> </TableRow> </TableLayout> 

Y el código java:

 @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.test); /* Find Tablelayout defined in test.xml */ TableLayout tl = (TableLayout) findViewById(R.id.tableLayout); /* Create a new row to be added. */ TableRow tr = new TableRow(this); tr.setLayoutParams(new TableRow.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT)); /* Create a Button to be the row-content. */ Button b = new Button(this); b.setText("Dynamic Button"); b.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT)); /* Add Button to row. */ tr.addView(b); /* Add row to TableLayout. */ tl.addView(tr, new TableLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT)); } 

Cuando pruebo en el emulador veo solamente el textview con la secuencia codificada "TEST" (definida en el archivo del xml).

Intente no establecer el buttonLayout y no agregar un TableLayout.LayoutParams al agregar la fila a la tabla.

 //b.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT)); tr.addView(b); //tl.addView(tr, new TableLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT)); t1.addView(tr) 

Creo que el TableLayout.LayoutParams está causando algunos problemas.

  • ¿Cómo obtener el contenido de una pestaña dentro de TabHost?
  • ¿Cuántos WindowInsets hay?
  • Mostrar más en ScrollView horizontal en android
  • Cookies de Android para la dirección IP
  • Forzar el reajuste en un grupo de vista incluyendo todos sus hijos
  • Animación de un grupo de niños en un grupo de vistas
  • Manejo simultáneo de eventos táctiles en varias vistas en Android
  • No se puede eliminar una vista adjunta por windowManager.addView ()
  • Android WebView eliminarCookie
  • Cómo quitar el final lento de la animación con ObjectAnimator?
  • Ver buscapersonas y listview
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.