【问题标题】:Force Close error on Android ApplicationAndroid应用程序上的强制关闭错误
【发布时间】:2012-04-08 19:21:42
【问题描述】:

我已将 Results 类添加到 Android Manifest 中,所以是的,您可以将其从列表中删除。 我设置方法的方式有误吗?

    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

【问题讨论】:

  • 你确定布局文件 rslt.xml 中有一个 id = result 的元素吗?
  • 是的,但 TextEdit 在不同的 xml 中。
  • 你的import怎么没有“你的包名”.R;

标签: android forceclose


【解决方案1】:

这是onCreate中的空指针异常,那何不试试stepping通过onCreate看看什么变量为空呢?

也就是说,我猜R.id.noFacebookFriends 不是R.layout.rslt 的一部分。

【讨论】:

  • 不,不是。 R.id.noFacebookFriends 是另一个类的 EditText。
  • 这正是问题所在。您尝试使用 findViewById 在上述代码中的 R.layout.rslt 中查找它。这将返回 null。调用 null.getText() 将产生您遇到的 NPE。
  • 那么,我可以用 EditText 框使这个类成为该类的子类,这样我就可以获得值而不是得到空指针异常?
  • 将edittext中的值放入一个变量中,以便以后使用。
【解决方案2】:

您在 OnCreate 中的某处获得了 NullPointerException。我猜要么是你的 rslt.xml 布局中的 id 错误,所以结果和 fbFriends 为空,或者 fbFriends 中没有任何文本,所以getText() 返回空。

【讨论】:

  • 嗯,fbFriends 意味着有一个应用程序用户之前输入的值。 EditText 字段位于另一个名为 frstq.xml 的 xml 布局文件中。
  • 订单转到 Mainpage>frstq>scndq>thrdq>frthq>ffthq>sxthq>rslt rslt 包含来自 frstq 的结果。 frstq 具有 EditText 并且用户输入了一个值。然后他们通过其他类,而 rslt 的重点是提取该输入并打印它。
  • findViewById 只会返回当前 Activity 的膨胀视图中的视图。您需要通过启动此 Activity 的 Intent 传递 EditText 值。
  • 啊,我明白了。但是,如果该课程距离打印结果的课程大约 5 个课程,我将如何处理?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-24
  • 1970-01-01
  • 1970-01-01
  • 2012-12-01
  • 2012-10-05
相关资源
最近更新 更多