Heim > Java > javaLernprogramm > Wie füge ich in Android programmgesteuert eine Textansicht korrekt zu einem LinearLayout hinzu?

Wie füge ich in Android programmgesteuert eine Textansicht korrekt zu einem LinearLayout hinzu?

Patricia Arquette
Freigeben: 2024-10-26 05:53:03
Original
334 Leute haben es durchsucht

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

Programmgesteuertes Hinzufügen einer Textansicht zu einem LinearLayout in Android

In der Android-Entwicklung ist es häufig erforderlich, Ansichten dynamisch zu einem in definierten Layout hinzuzufügen eine XML-Datei. In diesem Artikel wird der Prozess des Hinzufügens einer Textansicht zu einem vordefinierten LinearLayout im Code untersucht.

Problem:

Der Benutzer hat versucht, eine Textansicht zu einem in definierten LinearLayout hinzuzufügen XML mit dem folgenden Code:

<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>
Nach dem Login kopieren

Dieser Code führte jedoch zu einer ClassCastException-Ausnahme:

java.lang.ClassCastException: android.widget.TextView
Nach dem Login kopieren

Lösung:

Der Fehler Dies ist auf eine falsche Umwandlung der linearLayout-Variablen zurückzuführen. Um auf das LinearLayout zuzugreifen, sollte es explizit als LinearLayout umgewandelt werden:

<code class="xml">LinearLayout linearLayout = (LinearLayout)findViewById(R.id.info);
...
linearLayout.addView(valueTV);</code>
Nach dem Login kopieren

Zusätzlich sollte die LayoutParams-Instanz mit LinearLayout.LayoutParams anstelle von LayoutParams erstellt werden.

Korrigierter Code :

<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>
Nach dem Login kopieren

Durch diese Änderungen wird die TextView erfolgreich zum LinearLayout hinzugefügt.

Das obige ist der detaillierte Inhalt vonWie füge ich in Android programmgesteuert eine Textansicht korrekt zu einem LinearLayout hinzu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage