【问题标题】:getFloatArray is not receiving arraygetFloatArray 未接收数组
【发布时间】:2017-07-25 15:47:29
【问题描述】:

我正在处理一个列表:

  List<Float> subjects = Arrays.asList(0f,0f,0f,0f,0f,0f);
  List<Float> question9 = Arrays.asList(0f,0f); 

我想使用 Intent 将其发送到另一个活动,如下所示:

Intent iQuizz= new Intent(BachelorsResults.this, Results.class);
iQuizz.putExtra(BACHELOR, spinner.getSelectedItem().toString());
iQuizz.putExtra(QUESTION_9, question9.toArray());
iQuizz.putExtra(FAILED_SUBJECTS, subjects.toArray());

BachelorsResults.this.startActivity(iQuizz);

在另一个活动中,我试图接收浮点值:

Bundle extras = getIntent().getExtras();
float[] q9= extras.getFloatArray(QUESTION_9);
float[] fSubjects= extras.getFloatArray(FAILED_SUBJECTS);

但是一旦我开始第二个活动,它就会启动这个异常:

3-05 15:30:28.221 24640-24640/citrapp.exatec E/AndroidRuntime: FATAL EXCEPTION: main
                                                            Process: citrapp.exatec, PID: 24640
                                                            java.lang.RuntimeException: Unable to start activity ComponentInfo{citrapp.exatec/citrapp.exatec.Resultados}: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.Object.toString()' on a null object reference
                                                                at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2426)
                                                                at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2490)
                                                                at android.app.ActivityThread.access$900(ActivityThread.java:154)
                                                                at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1354)
                                                                at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                at android.os.Looper.loop(Looper.java:148)
                                                                at android.app.ActivityThread.main(ActivityThread.java:5443)
                                                                at java.lang.reflect.Method.invoke(Native Method)
                                                                at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728)
                                                                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
                                                             Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.Object.toString()' on a null object reference
                                                                at citrapp.exatec.Resultados.onCreate(Resultados.java:85)
                                                                at android.app.Activity.performCreate(Activity.java:6259)
                                                                at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1130)
                                                                at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2379)
                                                                at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2490) 
                                                                at android.app.ActivityThread.access$900(ActivityThread.java:154) 
                                                                at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1354) 
                                                                at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                                at android.os.Looper.loop(Looper.java:148) 
                                                                at android.app.ActivityThread.main(ActivityThread.java:5443) 
                                                                at java.lang.reflect.Method.invoke(Native Method) 
                                                                at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728) 
                                                                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618) 

不知何故,当我将它们传递给另一个活动时,浮点数组变为空值,因为我在第一个活动中测试 extras.getFloatArray 并显示内容,但在第二个活动中却没有。如果有人可以帮助我会很棒.. 谢谢!

【问题讨论】:

    标签: java android list android-intent bundle


    【解决方案1】:

    尝试将getIntent().getExtras() 替换为getIntent().getFloatArrayExtra()

    【讨论】:

    • 没用.. float[] q9 = getIntent().getFloatArrayExtra(QUESTION_9);浮动[] fSubjects= getIntent().getFloatArrayExtra(FAILED_SUBJECTS);它仍在报告 NullPointerException
    • 你能告诉我Resultados.java:85 里有什么吗?是否因为您在浮点数组上调用 toString() 而崩溃?
    猜你喜欢
    • 2016-05-10
    • 2017-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-18
    • 2015-03-08
    • 2016-07-15
    • 1970-01-01
    相关资源
    最近更新 更多