2016-05-30 15 views
-1

Ich möchte .setText() für ein anderes Layout als .setContentView(layout) verwenden.
.setText() für anderes Layout

Ich habe listview (main.xml), die Schaltflächen enthalten, so dass ich ein anderes XML (button.xml) dafür gemacht habe. Jetzt, wenn ich Text durch Programmierung in main.xml einstellen möchte, dann funktioniert .setText() normal, aber im Falle von button.xml dann .setText() zeigt Java-Fehler und stürzt meine App ab.
Ich mache es wie dieses
MainActivity

String username = "hello"; 
TextView user_name = (TextView) findViewById(R.id.user_name); 
user_name.setText("Name : " + username); 

button.xml

<TextView 
      android:id="@+id/user_name" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textSize="20dp" 
      android:paddingTop="5dp" 
      /> 

Fehler

java.lang.NullPointerException 

jemand eine Idee haben kann, wie das zu tun.

+0

nur meinen Code hinzugefügt. – Atula

+0

ja diese Textansicht aufblasen? –

+0

@Atula Sie müssen Instanz von Textview verwenden, um setText() – Nisarg

Antwort

0

Ich bin mir nicht sicher, ob ich Ihrer Frage gefolgt bin - versuchen Sie, eine untergeordnete Ansicht an das Layout anzuhängen? Wenn ja, möchten Sie etwas in der folgenden Richtung tun:

LinearLayout parent = (LinearLayout)findViewById(R.id.your_parent_view);// in main activity 
View child = getLayoutInflater().inflate(R.layout.button, null); 
parent.addView(child); 


String username = "hello"; 
TextView user_name = (TextView) parent.findViewById(R.id.user_name); 
user_name.setText("Name : " + username); 
+0

und wo soll ich hinzufügen. In MainActivity oder das Kind eins? – Atula

+0

vor dem Finden Ihrer Textansicht, um Text darauf festzulegen ... –

+0

immer noch den gleichen Fehler – Atula

Verwandte Themen