我想将.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
任何人都可以知道如何做到这一点。
答案 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);