ID给出NULL指针异常

时间:2014-01-29 06:30:10

标签: android eclipse sqlite nullpointerexception

我正在尝试创建一个简单的联系人列表应用程序,当我尝试编辑我的联系人时通过活动结果点击电话列表,编辑后我按下保存按钮它通过抛出“{”给我空指针异常{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

1 个答案:

答案 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);