这行代码有什么问题?

时间:2012-01-13 23:39:58

标签: java android xml button

我从logcat收到错误:

 01-13 17:53:25.368: E/AndroidRuntime(3235): Caused by: java.lang.NullPointerException
01-13 17:53:25.368: E/AndroidRuntime(3235):     at android.app.activity3.onCreate(activity3.java:18)

这段代码。因此第18行<* p>的错误

 Button wg = (Button) findViewById(R.id.Back);
        wg.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                Intent intent = new Intent();
                setResult(RESULT_OK, intent);
                finish();
            }

        });
    }
}

这是第18行:

wg.setOnClickListener(new View.OnClickListener() {

三江源!

3 个答案:

答案 0 :(得分:2)

wg为空。似乎findViewById返回null。

答案 1 :(得分:1)

这里有两件事情可以发生:

1)您忘记在setContentView()方法中调用onCreate()方法。

2)您使用R.id.Back加载的XML文件中不存在您的ID setContentView()

由于如果ID错误,您会在eclipse中看到错误,最可能的原因是您忘记在活动的setContentView(R.layout.some_layout_xml_file)方法中调用onCreate()

答案 2 :(得分:0)

NullPointerExceptions用于引用不存在的对象时,例如;

SomeObject someObj;

public static void main (String[] args) {
    someObj.someMethod();
}

会给你一个NullPointerException,其中as;

SomeObject someObj;

public static void main (String[] args) {
    someObj = new SomeObject();
    someObj.someMethod();
}

会好的。