.setText()用于不同的布局

时间:2016-05-30 12:22:08

标签: java android xml

我想将.setText()用于.setContentView(layout)以外的其他布局。

我有listview(main.xml),其中包含按钮,所以我为它制作了另一个xml(button.xml)。现在,如果我想通过main.xml中的编程设置文本,那么.setText()正常工作,但是如果是button.xml,那么.setText()会显示 java错误并导致我的应用崩溃
我是这样做的
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"
            />

错误

java.lang.NullPointerException

任何人都可以知道如何做到这一点。

1 个答案:

答案 0 :(得分:0)

我不确定我是否已按照您的问题进行操作 - 您是否尝试将子视图附加到布局?如果是这样,你想要做的事情是:

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);