java.lang.runtime异常:无法启动组件

java.lang.runtime异常:无法启动组件,java,android,Java,Android,我通过视频教程学习java,但我遇到了一个奇怪的问题,我在java中创建了一个名为OpenedClass的类,并实现了两个类。一个是用于OnClickListener,第二个是OnCheckChangeListener,但当我在emulator上运行应用程序时,它总是会给我调用错误OnClickListener我的java类的代码是: package com.thenewboston.thenewboston; import android.app.Activity; import androi

我通过视频教程学习java,但我遇到了一个奇怪的问题,我在java中创建了一个名为
OpenedClass
的类,并实现了两个类。
一个是用于
OnClickListener
,第二个是
OnCheckChangeListener
,但当我在emulator上运行应用程序时,它总是会给我调用错误
OnClickListener

我的java类的代码是:

package com.thenewboston.thenewboston;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.RadioGroup;
import android.widget.RadioGroup.OnCheckedChangeListener;
import android.widget.TextView;

public class OpenedClass extends Activity implements View.OnClickListener,
    OnCheckedChangeListener {

TextView question, test;
Button returnData;
RadioGroup selectionList;
String gotBread;
String setData;
@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.send);
    initialize();

private void initialize() {
    // TODO Auto-generated method stub
    question = (TextView) findViewById(R.id.tvQuestion);
    test = (TextView) findViewById(R.id.tvTest);
    returnData = (Button) findViewById(R.id.bResults);
    selectionList = (RadioGroup) findViewById(R.id.rgAnswers);
    selectionList.setOnCheckedChangeListener(this);
    returnData.setOnClickListener(this);
}

@Override
public void onClick(View v) {
    // TODO Auto-generated method stub
    Intent person = new Intent();
    Bundle backpack = new Bundle();
    backpack.putString("answer", setData);
    person.putExtras(backpack);
    setResult(RESULT_OK,person);
    finish();
}

@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
    // TODO Auto-generated method stub
    switch (checkedId) {
    case R.id.rCrazy:
        setData = "Probably Right !";
        break;
    case R.id.rSexy:
        setData = "Definitely Right !"; 
        break;
    case R.id.rBoth:
        setData = "Spot On !";
        break;
    }
    test.setText(setData);
}

}



这是logcat的输出:

01-05 15:59:54.605: E/AndroidRuntime(313): FATAL EXCEPTION: main
01-05 15:59:54.605: E/AndroidRuntime(313): java.lang.RuntimeException: Unable to start        activity   ComponentInfo{com.thenewboston.thenewboston/com.thenewboston.thenewboston.OpenedClass}:   java.lang.NullPointerException
01-05 15:59:54.605: E/AndroidRuntime(313):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
01-05 15:59:54.605: E/AndroidRuntime(313):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
01-05 15:59:54.605: E/AndroidRuntime(313):  at android.app.ActivityThread.access$1500(ActivityThread.java:117)
01-05 15:59:54.605: E/AndroidRuntime(313):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
01-05 15:59:54.605: E/AndroidRuntime(313):  at android.os.Handler.dispatchMessage(Handler.java:99)
01-05 15:59:54.605: E/AndroidRuntime(313):  at android.os.Looper.loop(Looper.java:123)
01-05 15:59:54.605: E/AndroidRuntime(313):  at android.app.ActivityThread.main(ActivityThread.java:3683)
01-05 15:59:54.605: E/AndroidRuntime(313):  at java.lang.reflect.Method.invokeNative(Native Method)
01-05 15:59:54.605: E/AndroidRuntime(313):  at java.lang.reflect.Method.invoke(Method.java:507)
01-05 15:59:54.605: E/AndroidRuntime(313):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
01-05 15:59:54.605: E/AndroidRuntime(313):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
01-05 15:59:54.605: E/AndroidRuntime(313):  at dalvik.system.NativeStart.main(Native Method)
01-05 15:59:54.605: E/AndroidRuntime(313): Caused by: java.lang.NullPointerException
01-05 15:59:54.605: E/AndroidRuntime(313):  at com.thenewboston.thenewboston.OpenedClass.initialize(OpenedClass.java:44)
01-05 15:59:54.605: E/AndroidRuntime(313):  at com.thenewboston.thenewboston.OpenedClass.onCreate(OpenedClass.java:25)
01-05 15:59:54.605: E/AndroidRuntime(313):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
01-05 15:59:54.605: E/AndroidRuntime(313):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
01-05 15:59:54.605: E/AndroidRuntime(313):  ... 11 more

大家可以看到,它告诉我错误在第44行,我代码中的第44行是

        returnData.setOnClickListener(this);

当我评论这一行的时候,我一点也不理解它。当我不评论这一行的时候,它会告诉我布局。你知道为什么会这样吗?

来自你在marcin_j post下面的评论

<Button android:id="@+id/bReturn"  // id is bReturn
android:layout_width="wrap_content"
android:layout_height="wrap_content"   
 android:text="Return" >
</Button>


returnData
为空。检查布局中的id,谢谢Raghunand和您的评论帮助alot@jazzb在我不知道xml中有什么内容之前,我无法发布它。但是id是错误的,因此NPEsir我是从你在我的帖子上面的评论中得到的,我由衷地感谢你。这是我的错,我没有张贴的xml文件,再次感谢先生。
returnData = (Button) findViewById(R.id.bResults);
returnData = (Button) findViewById(R.id.bReturn);