Heim  >  Artikel  >  Java  >  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
Patricia ArquetteOriginal
2024-10-26 05:53:03248Durchsuche

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>

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

java.lang.ClassCastException: android.widget.TextView

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>

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>

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!

Stellungnahme:
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