Maison > Java > javaDidacticiel > le corps du texte

Comment ajouter correctement un TextView à un LinearLayout par programme sous Android ?

Patricia Arquette
Libérer: 2024-10-26 05:53:03
original
267 Les gens l'ont consulté

How to Correctly Add a TextView to a LinearLayout Programmatically in Android?

Ajout d'un TextView à un LinearLayout par programme sous Android

Dans le développement Android, il est souvent nécessaire d'ajouter des vues dynamiquement à une mise en page définie dans un fichier XML. Cet article explore le processus d'ajout d'un TextView à un LinearLayout prédéfini dans le code.

Problème :

L'utilisateur a tenté d'ajouter un TextView à un LinearLayout défini dans XML en utilisant le code suivant :

<code class="xml">View 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);</code>
Copier après la connexion

Cependant, ce code a entraîné une exception ClassCastException :

java.lang.ClassCastException: android.widget.TextView
Copier après la connexion

Solution :

L'erreur s'est produit en raison d'une conversion incorrecte de la variable LinearLayout. Pour accéder au LinearLayout, il doit être converti explicitement en LinearLayout :

<code class="xml">LinearLayout linearLayout = (LinearLayout)findViewById(R.id.info);
...
linearLayout.addView(valueTV);</code>
Copier après la connexion

De plus, l'instance LayoutParams doit être créée en utilisant LinearLayout.LayoutParams au lieu de LayoutParams.

Code corrigé :

<code class="xml">LinearLayout linearLayout = (LinearLayout)findViewById(R.id.info);

TextView valueTV = new TextView(this);
valueTV.setText("hallo hallo");
valueTV.setId(5);
valueTV.setLayoutParams(new LinearLayout.LayoutParams(
        LinearLayout.LayoutParams.FILL_PARENT,
        LinearLayout.LayoutParams.WRAP_CONTENT));

linearLayout.addView(valueTV);</code>
Copier après la connexion

En effectuant ces modifications, le TextView sera ajouté avec succès au LinearLayout.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!