Android Activity ——NullPointerException ("unable to instantiate activity ComponentInfo")?

标签 android nullpointerexception android-virtual-device

我正在尝试为 Android 创建一个程序,它将读取文本,然后将其打印出来,只是为了习惯使用 Android 的 I/O。但是,每当我在 AVD 上运行它时,它都会在 LogCat 中返回一个错误,指出我的代码中存在 NullPointerException,因此它“无法实例化 Activity ComponentInfo”。

我找不到我指的是什么空值。

这是我的代码:

import android.app.*;
import android.os.*;
import android.view.View;
import android.view.View.*;
import android.widget.*;



 public class ButtonTestActivity extends Activity {

TextView tv = (TextView) findViewById(R.id.textView1);
EditText et = (EditText) findViewById(R.id.edittext);

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {


    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    Button b = (Button) findViewById(R.id.Enter);

    b.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View arg0) {
            tv.setText(et.getText().toString());
        }
    });

}

这是我的 XML:

<?xml version="1.0" encoding="utf-8"?>
<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/textView1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="@string/hello" />

<Button
    android:id="@+id/Enter"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    />

<EditText
    android:id="@+id/edittext"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"/>

 </LinearLayout>

有谁知道这可能是什么原因造成的?非常感谢。

最佳答案

您需要在 onCreate 和 setContentView 之后实例化您的 View ,在您通过 setContentView 方法设置 Activities 布局之前,Activity 不知道您指的是哪个 View 。如果这不能解决问题,那么如果您从 LogCat 发布堆栈跟踪以便知道确切的行号,将会有所帮助。

@Override

public void onCreate(Bundle savedInstanceState) {


super.onCreate(savedInstanceState);
setContentView(R.layout.main);


TextView tv = (TextView) findViewById(R.id.textView1);
EditText et = (EditText) findViewById(R.id.edittext);

Button b = (Button) findViewById(R.id.Enter);

b.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View arg0) {
        tv.setText(et.getText().toString());
    }
});

}

关于Android Activity ——NullPointerException ("unable to instantiate activity ComponentInfo")?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9537150/

相关文章:

java - 在 Android 中为 LinearLayout 添加边距

Android ART - 在/dalvik-cache/中使用 .oat 文件?

java - 这段代码怎么会抛出空指针异常?

nullpointerexception - 单击微调器时出现空指针异常

java - 尝试使用 Graphics2D 在 JPanel 上渲染时,如何修复此 NullPointerException?

Android Material 设计 : Failed to find style 'toolbarStyle' in current theme

android - 使用 Parse.com 进行离线缓存?

android - 创建 Android AVD 卡住

Android工作室AVD错误

Android AVD 问题