So fügen Sie eine TextView zu einem LinearLayout dynamisch in Android?
Ich versuche, um eine TextView
zu einem LinearLayout
dynamisch wie in den folgenden code, aber es erscheint nicht wenn ich die Anwendung ausführen?
setContentView(R.layout.advanced);
m_vwJokeLayout=(LinearLayout) this.findViewById(R.id.m_vwJokeLayout);
m_vwJokeEditText=(EditText) this.findViewById(R.id.m_vwJokeEditText);
m_vwJokeButton=(Button) this.findViewById(R.id.m_vwJokeButton);
TextView tv=new TextView(this);
tv.setText("test");
this.m_vwJokeLayout.addView(tv);
Was ist das problem?
- <LinearLayout android:id="@+id/m_vwJokeLayout" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="schemas.android.com/apk/res/android"></LinearLayout>
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie ändern lparams nach Ihren Bedürfnissen
Hier ist eine Allgemeine Antwort, die für zukünftige Betrachter dieser Frage. Das layout machen wir unter:
Methode 1: Fügen Sie TextView zu bestehenden LinearLayout
Beachten Sie, dass für
LayoutParams
müssen Sie die Art von layout für den import, als inSonst müssen Sie
LinearLayout.LayoutParams
im code.Ist hier die xml:
Methode 2: Erstellen LinearLayout und TextView programmgesteuert
Methode 3: Programmgesteuert hinzufügen einer xml-layout in eine andere xml-layout
Hier dynamic_linearlayout.xml:
Und hier ist die dynamic_linearlayout_item.xml hinzufügen:
Ich angepasst mehr @Suragch code. Meine Ausgabe sieht
Schrieb ich eine Methode, um stop-code Redundanz.
Es kann aufgerufen werden wie
Nun können Sie diese zu einem RelativeLayout dynamisch. LinearLayout ist auch die gleiche, nur fügen Sie eine Orientierung.
Dies ist, wie ich bin mit diesem:
- Und dies ist meine benutzerdefinierte TextView namens tag:
dies ist mein tag_shape:
Effekt:
In anderen Ort, den ich hinzufüge, textviews mit Sprache Namen von dialog mit listview:
layout:
class-Datei:
Wenn Sie mit Linearlayout. seine params sollte "wrap_content" fügen Sie dynamische Daten in Ihrem layout xml. wenn Sie übereinstimmen, oder füllen Elternteil, dann können Sie nicht sehen, die Ausgabe.
Sollte es so sein.