我正在尝试创建一个简单的联系人列表应用程序,当我尝试编辑我的联系人时通过活动结果点击电话列表,编辑后我按下保存按钮它通过抛出“{”给我空指针异常{1}}“。我调试应用程序,当我点击列表上的联系人进行编辑时,它获取了id,但是当我保存编辑部分时,它给id赋值为null。 这是源代码:
id=null
这是我的原木猫狗//////////
01-29 12:33:05.070:W / dalvikvm(29585):threadid = 1:线程退出,未捕获异常(group = 0x4001d578) 01-29 12:33:05.090:E / AndroidRuntime(29585):致命异常:主要 01-29 12:33:05.090:E / AndroidRuntime(29585):java.lang.RuntimeException:传递结果失败ResultInfo {who = null,request = 1,result = -1,data = Intent {(has extras)}} to activity {com.webpreneur_contactlist / com.webpreneur_contactlist.WebpreneurActivity}:java.lang.NumberFormatException:ID 01-29 12:33:05.090:E / AndroidRuntime(29585):在android.app.ActivityThread.deliverResults(ActivityThread.java:2553) 01-29 12:33:05.090:E / AndroidRuntime(29585):在android.app.ActivityThread.handleSendResult(ActivityThread.java:2595) 01-29 12:33:05.090:E / AndroidRuntime(29585):在android.app.ActivityThread.access $ 2000(ActivityThread.java:121) 01-29 12:33:05.090:E / AndroidRuntime(29585):在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:973) 01-29 12:33:05.090:E / AndroidRuntime(29585):在android.os.Handler.dispatchMessage(Handler.java:99) 01-29 12:33:05.090:E / AndroidRuntime(29585):在android.os.Looper.loop(Looper.java:138) 01-29 12:33:05.090:E / AndroidRuntime(29585):在android.app.ActivityThread.main(ActivityThread.java:3701) 01-29 12:33:05.090:E / AndroidRuntime(29585):at java.lang.reflect.Method.invokeNative(Native Method) 01-29 12:33:05.090:E / AndroidRuntime(29585):at java.lang.reflect.Method.invoke(Method.java:507) 01-29 12:33:05.090:E / AndroidRuntime(29585):at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:878) 01-29 12:33:05.090:E / AndroidRuntime(29585):at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:636) 01-29 12:33:05.090:E / AndroidRuntime(29585):at dalvik.system.NativeStart.main(Native Method) 01-29 12:33:05.090:E / AndroidRuntime(29585):引起:java.lang.NumberFormatException:ID 01-29 12:33:05.090:E / AndroidRuntime(29585):at java.lang.Long.parse(Long.java:353) 01-29 12:33:05.090:E / AndroidRuntime(29585):at java.lang.Long.parseLong(Long.java:344) 01-29 12:33:05.090:E / AndroidRuntime(29585):at java.lang.Long.parseLong(Long.java:311) 01-29 12:33:05.090:E / AndroidRuntime(29585):at com.webpreneur_contactlist.WebpreneurActivity.onActivityResult(WebpreneurActivity.java:129) 01-29 12:33:05.090:E / AndroidRuntime(29585):在android.app.Activity.dispatchActivityResult(Activity.java:3908) 01-29 12:33:05.090:E / AndroidRuntime(29585):在android.app.ActivityThread.deliverResults(ActivityThread.java:2549) 01-29 12:33:05.090:E / AndroidRuntime(29585):... 11 more
答案 0 :(得分:0)
//您将ID分配为
i.putExtra(DBHandler.Key_ID, c.getLong(c.getColumnIndex(DBHandler.Key_ID)));
//你得到的是String
String id = data.getStringExtra(DBHandler.Key_ID);
//请在下面这行
long id = data.getLongExtra(DBHandler.Key_ID);