Cómo agregar TableRow de xml a TableLayout mediante programación?
Im nuevo a Android y estoy tratando de agregar un TableRow, que ya he hecho con xml, a un TableLayout por programación. Estoy recibiendo Force Closes, la mayoría son NullPointerExcpetions.
Aquí está mi clase de java
- ScrollView corta la parte superior y deja espacio en la parte inferior
- Android estilo Recopilación de recursos (aapt) fallando: Tabla de recursos no válidos: tamaño de encabezado 0xc
- Android: java.lang.ClassCastException: android.widget.imageView no se puede convertir en android.widget.textView
- Recurso duplicado del error de Android Studio
- Cómo conservar los nodos XML que no están enlazados a un objeto cuando se utiliza SAX para analizar
public class DayFragment extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.subjects_list, container, false); TableLayout tl = (TableLayout) view.findViewById(R.id.tl); TableRow tr = (TableRow) view.findViewById(R.id.tr_row); tl.addView(tr); //not working, obviously im missing something //xml parsing stuff return view; } }
Este es mi diseño con el TableLayout:
<?xml version="1.0" encoding="utf-8"?> <HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/horizontalScrollView1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:paddingTop="5dp" > <ScrollView android:layout_width="wrap_content" android:layout_height="wrap_content" android:fillViewport="true" android:orientation="vertical" > <TableLayout android:id="@+id/tl" android:layout_width="wrap_content" android:layout_height="wrap_content" > <include android:id="@+id/header" layout="@layout/table_header" /> <include android:id="@+id/h_divider" layout="@layout/horizontal_divider"/> </TableLayout> </ScrollView> </HorizontalScrollView>
Y el TableRow:
<?xml version="1.0" encoding="utf-8"?> <TableRow xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/tr_row" android:layout_width="match_parent" android:layout_height="wrap_content" > <TextView android:id="@+id/tv_hour" android:layout_weight="1" android:gravity="center" android:padding="8dp" android:textSize="15sp" android:textStyle="bold" /> <View android:layout_weight="1" android:background="@drawable/vertical_cell_divider" /> <TextView android:id="@+id/tv_subject" android:layout_weight="1" android:gravity="left" android:padding="8dp" android:textSize="18sp" /> <View android:layout_weight="1" android:background="@drawable/vertical_cell_divider" /> <TextView android:id="@+id/tv_start" android:layout_weight="1" android:gravity="left" android:padding="8dp" android:textSize="18sp" /> <TextView android:id="@+id/tv_bar" android:layout_weight="1" android:gravity="left" android:textSize="18sp" /> <TextView android:id="@+id/tv_end" android:layout_weight="1" android:gravity="left" android:padding="8dp" android:textSize="18sp" /> </TableRow>
He intentado muchas maneras diferentes de lograrlo pero todavía nada.
- AVD Manager pierde las definiciones de dispositivos creadas por el usuario después de cerrar y volver a abrirse
- Error: No se encontró identificador de recurso para el atributo 'textAlignment' en el paquete 'android'
- ¿Cómo cambiar el color del pulgar en el buscador?
- ¿Cómo hacer un botón que muestra el carácter de retroceso (⌫) en Android?
- ¿Por qué mostrar error inesperado prefijo de nombre xmlns en android?
- Cómo manejar clics de botón utilizando el XML onClick dentro de Fragmentos
- Android XML redondeado esquinas recortadas
- Error android.permission.WRITE_SECURE_SETTINGS
Reemplazar código:
TableRow tr = (TableRow) view.findViewById(R.id.tr_row); tl.addView(tr); //not working, obviously im missing something
con
View tr = inflater.inflate(R.layout.table_row_layout, null,false); tl.addView(tr); //not working, obviously im missing something