Android应用程序上的强制关闭错误

Android应用程序上的强制关闭错误,android,forceclose,Android,Forceclose,我已经将Results类添加到Android清单中,所以是的,您可以将其从列表中划掉。 这是我制定方法的错误吗 package com.kenning.foreveralone; import android.app.Activity; import android.os.Bundle; import android.widget.EditText; import android.widget.TextView; public class R

我已经将Results类添加到Android清单中,所以是的,您可以将其从列表中划掉。 这是我制定方法的错误吗

    package com.kenning.foreveralone;


    import android.app.Activity;
    import android.os.Bundle;
    import android.widget.EditText;
    import android.widget.TextView;

    public class Results extends Activity{

        EditText fbFriends;
        TextView resulting;
        String value;

        @Override
        public void onCreate(Bundle savedInstanceState) {
            // TODO Auto-generated method stub
            super.onCreate(savedInstanceState);
            setContentView(R.layout.rslt);
            TextView resulting = (TextView) findViewById(R.id.result);
            EditText fbFriends = (EditText) findViewById(R.id.noFacebookFriends);
            String value = fbFriends.getText().toString();
            resulting.setText("Your score is " + value);
        }



    }
当我开始上课时,它似乎总是强迫我关闭应用程序。谁能告诉我我做错了什么

这是原木猫:

04-08 20:05:24.169: E/AndroidRuntime(589): FATAL EXCEPTION: main
04-08 20:05:24.169: E/AndroidRuntime(589): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.kenning.foreveralone/com.kenning.foreveralone.Results}: java.lang.NullPointerException
04-08 20:05:24.169: E/AndroidRuntime(589):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
04-08 20:05:24.169: E/AndroidRuntime(589):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
04-08 20:05:24.169: E/AndroidRuntime(589):  at android.app.ActivityThread.access$2300(ActivityThread.java:125)
04-08 20:05:24.169: E/AndroidRuntime(589):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
04-08 20:05:24.169: E/AndroidRuntime(589):  at android.os.Handler.dispatchMessage(Handler.java:99)
04-08 20:05:24.169: E/AndroidRuntime(589):  at android.os.Looper.loop(Looper.java:123)
04-08 20:05:24.169: E/AndroidRuntime(589):  at android.app.ActivityThread.main(ActivityThread.java:4627)
04-08 20:05:24.169: E/AndroidRuntime(589):  at java.lang.reflect.Method.invokeNative(Native Method)
04-08 20:05:24.169: E/AndroidRuntime(589):  at java.lang.reflect.Method.invoke(Method.java:521)
04-08 20:05:24.169: E/AndroidRuntime(589):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
04-08 20:05:24.169: E/AndroidRuntime(589):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
04-08 20:05:24.169: E/AndroidRuntime(589):  at dalvik.system.NativeStart.main(Native Method)
04-08 20:05:24.169: E/AndroidRuntime(589): Caused by: java.lang.NullPointerException
04-08 20:05:24.169: E/AndroidRuntime(589):  at com.kenning.foreveralone.Results.onCreate(Results.java:20)
04-08 20:05:24.169: E/AndroidRuntime(589):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
04-08 20:05:24.169: E/AndroidRuntime(589):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
04-08 20:05:24.169: E/AndroidRuntime(589):  ... 11 more

您在OnCreate中的某个地方得到了一个
NullPointerException
。我猜可能是您的rslt.xml布局中的ID错误,因此result和fbFriends为null,或者fbFriends中没有任何文本,因此
getText()
返回null。

在onCreate中是null指针异常,所以为什么不尝试单步执行
onCreate
以查看哪个变量为null


也就是说,我猜
R.id.noFacebookFriends
不是
R.layout.rslt

布局文件rslt.xml中是否确实存在id=result的元素?是的,但是文本编辑是另一种xml格式。为什么导入没有任何“您的包名”.R;fbFriends应该有一个应用程序用户之前输入的值。EditText字段位于另一个名为frstq.xml的xml布局文件中。顺序为Mainpage>frstq>scndq>thrdq>frthq>ffthq>sxthq>rslt rslt包含frstq的结果。frstq有编辑文本,用户输入一个值。然后他们遍历其他类,rslt的目的是提取输入并打印它。findViewById将只返回当前活动视图中的视图。您需要通过启动此活动的意图传递EditText值。啊,我明白了。但是如果这个类离打印结果的类大约有5个类,我该怎么做呢?不,不是。R.id.noFacebookFriends是另一个类的EditText。这正是问题所在。您可以尝试使用findviewbyd在上面代码中的R.layout.rslt中查找它。这将返回null。调用null.getText()将产生您正在经历的NPE。因此,我是否可以使用EditText框使该类成为该类的子类,以便获取值而不获取空指针异常?请将EditText中的值放入一个变量中,以便稍后使用。