Estoy intentando agregar TextViews
a mi distribución definida xml en el código. Tengo una hoja xml, donde se definen muchos Views
. Pero tengo que añadir algunos puntos de vista en el código, por lo que una cree una LinearLayout
en el xml de la ficha técnica:Android: Agregue una vista textual al diseño lineal programáticamente
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:id="@+id/info"
android:layout_height="wrap_content"
android:orientation="vertical">
</LinearLayout>
Y en este diseño, me gustaría añadir mi TextView
:
View linearLayout = findViewById(R.id.info);
//LinearLayout layout = (LinearLayout) findViewById(R.id.info);
TextView valueTV = new TextView(this);
valueTV.setText("hallo hallo");
valueTV.setId(5);
valueTV.setLayoutParams(new LayoutParams(
LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT));
((LinearLayout) linearLayout).addView(valueTV);
Pero sólo recibe el siguiente mensaje de error:
: java.lang.ClassCastException: android.widget.TextView
¿Cómo puedo hacerlo?
Gracias por su ayuda. Martin
¿Qué línea es esa excepción? Debe ser del elenco LinearLayout, ¿está seguro de que la variable linearLayout es LinearLayout y no TextView? Además, no debería especificar el ID, ya que no puede garantizar que sea único. –
Tiene razón, linearLayout es una vista de texto, pero ¿por qué? Lo he definido en el archivo xml como LinearLayout ... – Martin
Asegúrese de que realmente está operando en el xml que se muestra arriba. ¿'SetContentView (R.layout.your_xml_layout);' realmente está cargando el xml correcto? ¿Tiene otros diseños xml donde usa 'android: id =" @ + id/info "' que resulta ser un TextView? – Rodja