可以进入意图的最大附加数量是多少?
我有一堆EditTexts
,我想使用Intents
将从EditTexts
获得的数据传递给另一个Activity
。每当我运行该应用程序,它会得到一个运行时错误或类似的东西和崩溃。 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)
因此有上定义额外的数量没有限制。 您可以使用当前正在使用的演员人数。 但问题与NumberFormatException有关。 这与Android没有任何关系。 检查您的程序中发生异常的行。 您的程序的行号43导致问题。 由于“”不是有效的双倍因此这个异常正在发生。
没有其他问题的代码和没有logcat有没有办法找到问题 –
这是什么日志猫说 –
那里我有一个问题的地方..pls你可以通过我的logcat。我是Android编程新手,仍然有很多东西要学习 –
你可以传递数据高达1MB,但记录说,它因NumberFormatException的
这是不是您要添加额外的号码,但是工作,你正在做的UI线程。 OnClick()在UI线程上运行,如果需要执行长时间运行操作,则必须在单独的线程中执行相同操作! –
检查此链接:http://stackoverflow.com/questions/12496700/maximum-length-of-intent-putextra-method-force-close – prakash
请显示LogCat的内容 – Manu