TableRow no envuelve TextView

TableLayout tiene un TextView y EditText en cada fila. Cuando EditText tiene una fila múltiple, TableRow envuelve pero cuando TextEdit , no lo hace.

Diseño simplificado:

 <?xml version="1.0" encoding="utf-8"?> <TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:shrinkColumns="*" > <TableRow> <TextView android:id="@+id/textView1" android:text="Lorem ipsum dolor sit amet, consectetur" /> <EditText android:id="@+id/textView2" android:text="Foo" /> </TableRow> <TableRow> <TextView android:id="@+id/textView3" android:text="Foo" /> <EditText android:id="@+id/textView4" android:text="Lorem ipsum dolor sit amet, consectetur" /> </TableRow> </TableLayout> 

Renders: Render 1

Pero cuando ambos controles son TextEdit , se procesa correctamente.

 <?xml version="1.0" encoding="utf-8"?> <TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:shrinkColumns="*" > <TableRow> <TextView android:id="@+id/textView1" android:text="Lorem ipsum dolor sit amet, consectetur" /> <TextView android:id="@+id/textView2" android:text="Foo" /> </TableRow> <TableRow> <TextView android:id="@+id/textView3" android:text="Foo" /> <TextView android:id="@+id/textView4" android:text="Lorem ipsum dolor sit amet, consectetur" /> </TableRow> </TableLayout> 

Renders como: Render 2

¿Qué debo hacer para que Android procese el primer diseño correctamente?

Ps: Ya he intentado añadir android:layout_width="fill_parent" , android:layout_height="wrap_content " atributos a TableRow , TextView , EditText controles, nada ha cambiado.

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TableLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" > <TableRow android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:weightSum="4" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginRight="1dp" android:layout_weight="1" android:background="#B0B0B0" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginRight="1dp" android:layout_weight="1" android:background="#B0B0B0" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginRight="1dp" android:layout_weight="1" android:background="#B0B0B0" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:background="#B0B0B0" /> </TableRow> <TableRow android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="1dp" android:orientation="vertical" android:weightSum="4" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginRight="1dp" android:layout_weight="1" android:background="#B0B0B0" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginRight="1dp" android:layout_weight="1" android:background="#B0B0B0" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginRight="1dp" android:layout_weight="1" android:background="#B0B0B0" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:background="#B0B0B0" /> </TableRow> <TableRow android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="1dp" android:orientation="vertical" android:weightSum="4" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginRight="1dp" android:layout_weight="1" android:background="#B0B0B0" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginRight="1dp" android:layout_weight="1" android:background="#B0B0B0" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginRight="1dp" android:layout_weight="1" android:background="#B0B0B0" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:background="#B0B0B0" /> </TableRow> <TableRow android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="1dp" android:orientation="vertical" android:weightSum="4" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginRight="1dp" android:layout_weight="1" android:background="#B0B0B0" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginRight="1dp" android:layout_weight="1" android:background="#B0B0B0" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginRight="1dp" android:layout_weight="1" android:background="#B0B0B0" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:background="#B0B0B0" /> </TableRow> <TableRow android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="1dp" android:orientation="vertical" android:weightSum="4" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginRight="1dp" android:layout_weight="1" android:background="#B0B0B0" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginRight="1dp" android:layout_weight="1" android:background="#B0B0B0" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginRight="1dp" android:layout_weight="1" android:background="#B0B0B0" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:background="#B0B0B0" /> </TableRow> <TableRow android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="1dp" android:orientation="vertical" android:weightSum="4" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginRight="1dp" android:layout_weight="1" android:background="#B0B0B0" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginRight="1dp" android:layout_weight="1" android:background="#B0B0B0" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginRight="1dp" android:layout_weight="1" android:background="#B0B0B0" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:background="#B0B0B0" /> </TableRow> </TableLayout> </LinearLayout> 

Estas celdas grises r cuadros de texto

Introduzca aquí la descripción de la imagen

Tuve el mismo problema y lo que resolvió todo estaba poniendo un peso a las textviews que quería envolver la palabra.

Mis dos centavos…

Al TableLayout intenta agregar

  android:stretchColumns="*" 

Y si el tat too doesnt trabajo intenta agregar pesos

  <TableRow android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="2" > And to the TextView and EditText add android:layout_weight="1" 

Añadiendo android:layout_gravity="center_vertical" a TextView o añadiendo android:background="#B0B0B0" a EditText obliga a Android a renderizar correctamente.

  • implementar android: stretchColumns = "*" programatically en Android
  • Cómo llenar la pantalla con cuatro botones con el diseño de la tabla?
  • Alineación de la disposición de la tabla de Android
  • Grilla de datos completamente funcional en Android
  • TableLayout con layout_width = matchparent que no coincide con el padre
  • TableRow llenar el espacio restante
  • Cómo mostrar la imagen en la fila de la tabla en función del tamaño
  • Hacer células de igual anchura y altura para llenar la tabla
  • Edición de la anchura de TableLayout de Android
  • Las vistas agregadas a TableLayout no se muestran mediante programación
  • Línea de encabezado de TableLayout de Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.