什么是可以进入意图的最大额外数量?

时间:2015-04-17 11:45:02

标签: android

我有一堆EditTexts,我希望使用EditTexts将从Activity获取的数据传递给另一个Intents。每当我运行应用程序时,它会收到运行时错误或类似的东西并崩溃。 Logcat说我的应用程序在线程上做了太多工作。有没有办法解决?

这是我的代码:

@Override
public void onClick(View v) {

    final Intent a = new Intent (getApplicationContext(), Cooling.class);
    a.putExtra("value15", 15f * Double.valueOf(edit15watt.getText().toString()));
    a.putExtra("value20", 20f * Double.valueOf(edit20watt.getText().toString()));
    a.putExtra("value40", 40f * Double.valueOf(edit40watt.getText().toString()));
    a.putExtra("value60", 60f * Double.valueOf(edit60watt.getText().toString()));
    a.putExtra("value75", 75f * Double.valueOf(edit75watt.getText().toString()));
    a.putExtra("value100", 100f * Double.valueOf(edit100watt.getText().toString()));
    a.putExtra("value11", 11f * Double.valueOf(edit11watt.getText().toString()));
    a.putExtra("value18", 18f * Double.valueOf(edit18watt.getText().toString()));
    a.putExtra("value23", 23f * Double.valueOf(edit23watt.getText().toString()));
    a.putExtra("value50", 50f * Double.valueOf(edit50watt.getText().toString()));
    a.putExtra("value90", 90f * Double.valueOf(edit90watt.getText().toString()));
    a.putExtra("value200", 200f * Double.valueOf(edit200watt.getText().toString()));
    a.putExtra("value250", 250f * Double.valueOf(edit250watt.getText().toString()));
    startActivity(a);
}

这就是logcat所说的

 04-17 08:20:57.197: E/AndroidRuntime(1102): FATAL EXCEPTION: main

04-17 08:20:57.197: E/AndroidRuntime(1102): Process: com.emma.finalyearproject, PID: 1102

04-17 08:20:57.197: E/AndroidRuntime(1102): java.lang.NumberFormatException: Invalid double: ""

04-17 08:20:57.197: E/AndroidRuntime(1102):     at java.lang.StringToReal.invalidReal(StringToReal.java:63)

04-17 08:20:57.197: E/AndroidRuntime(1102):     at java.lang.StringToReal.parseDouble(StringToReal.java:248)

04-17 08:20:57.197: E/AndroidRuntime(1102):     at java.lang.Double.parseDouble(Double.java:295)

04-17 08:20:57.197: E/AndroidRuntime(1102):     at java.lang.Double.valueOf(Double.java:332)

04-17 08:20:57.197: E/AndroidRuntime(1102):     at com.emma.finalyearproject.Lighting$1.onClick(Lighting.java:43)

04-17 08:20:57.197: E/AndroidRuntime(1102):     at android.view.View.performClick(View.java:4424)

04-17 08:20:57.197: E/AndroidRuntime(1102):     at android.view.View$PerformClick.run(View.java:18383)

04-17 08:20:57.197: E/AndroidRuntime(1102):     at android.os.Handler.handleCallback(Handler.java:733)

04-17 08:20:57.197: E/AndroidRuntime(1102):     at android.os.Handler.dispatchMessage(Handler.java:95)

04-17 08:20:57.197: E/AndroidRuntime(1102):     at android.os.Looper.loop(Looper.java:137)

04-17 08:20:57.197: E/AndroidRuntime(1102):     at android.app.ActivityThread.main(ActivityThread.java:4998)

04-17 08:20:57.197: E/AndroidRuntime(1102):     at java.lang.reflect.Method.invokeNative(Native Method)

04-17 08:20:57.197: E/AndroidRuntime(1102):     at java.lang.reflect.Method.invoke(Method.java:515)

04-17 08:20:57.197: E/AndroidRuntime(1102):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:777)

04-17 08:20:57.197: E/AndroidRuntime(1102):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:593)

04-17 08:20:57.197: E/AndroidRuntime(1102):     at dalvik.system.NativeStart.main(Native Method)

2 个答案:

答案 0 :(得分:0)

您可以将数据传递到1mb,但由于NumberFormatException

,日志会显示它

答案 1 :(得分:-2)

因此,对定义的额外数量没有限制。 您可以使用当前使用的额外数量。 但问题与NumberFormatException有关。 这根本与Android无关。 检查程序中发生异常的行。 程序的第43行导致问题。 因为“”不是有效的双倍,所以发生这种异常。