我有以下main.xml布局
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textview01"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello" />
我试图通过使用以下代码
来检索文本,即@ string / hello public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView tv= (TextView) findViewById(R.id.textview01);
String input= tv.getText().toString();
Log.d("Info",input);
但我无法看到输出。应用程序崩溃,并在String input = tv.getText(
)处出现NULL异常错误答案 0 :(得分:4)
您需要致电
setContentView(R.layout.main);
在致电findViewById
答案 1 :(得分:2)
按如下方式更新您的活动代码,
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main); // This line is missing in your code.
TextView tv= (TextView) findViewById(R.id.textview01);
String input= tv.getText().toString();
Log.d("Info",input);
您实际上缺少xml到Activity的映射。
答案 2 :(得分:1)
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TextView tv= (TextView) findViewById(R.id.textview01);
String input= tv.getText().toString();
Log.d("Info",input);
答案 3 :(得分:1)
确保您已正确设置视图
setContentView(R.layout.main);
如果没有这样做,你会得到“tv”变量为null,因为没有加载视图。
2.如果设置了上述内容,则检查strings.xml
中是否正确设置了“hello”。
答案 4 :(得分:0)
您收到NullPointerException
,因为您在tv中的引用为空。
您没有设置布局,即setLayout(R.layout.main);
在super.onCreate(savedInstanceState);
之后加入上述行,您的代码就可以使用。