所以我在xml
中定义了一个布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:gravity="center">
<TextView
android:id="@+id/char_name"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
</LinearLayout>
但是当我尝试在java
中更改任何内容时,我的程序崩溃了。
public class DisplayMessageActivity extends Activity {
@SuppressLint("NewApi")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView charName = (TextView) findViewById(R.id.char_name);
charName.setText("Bob");
setContentView(R.layout.displayName);
}
}
我的应用程序编译并运行,但当它切换到此Activity
时,它会崩溃。如果我在xml
文件中设置文本,它可以正常工作。
答案 0 :(得分:1)
您尚未为活动设置内容。在onCreate
中添加以下内容:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.your_layout);
TextView charName = (TextView) findViewById(R.id.char_name);
charName.setText("Bob");
}
其中your_layout.xml
是 xml 文件,其中包含TextView
id char_name
。
注意:您应该在初始化TextView charName
之前设置内容。
答案 1 :(得分:0)
将包含textView的布局添加到您的活动中:
<强>溶液强>
setContentView(R.layout.yourlayoutname);
答案 2 :(得分:0)
更改以下代码
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.displayName);
TextView charName = (TextView) findViewById(R.id.char_name);
charName.setText("Bob");
}
答案 3 :(得分:0)
应该是
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.displayName);
TextView charName = (TextView) findViewById(R.id.char_name);
charName.setText("Bob");
}