好吧,我又回来了,试图帮助我建立这个应用程序的联系人部分。基本上我试图从系统联系人列表中选择一个联系人。这部分完成并正常工作。 - 我遇到问题的地方是当你选择一个名字时,它应该将人名和电话号码设置到我的应用程序中各自的文本视图中。 Logcat假定在我的代码的特定行上抛出一个Null指针异常。所以这是我正在使用的块:
public void onActivityResult(int reqCode, int resultCode, Intent data) {
super.onActivityResult(reqCode, resultCode, data);
switch (reqCode) {
case (1) :
if (resultCode == Activity.RESULT_OK) {
Uri contactData = data.getData();
Cursor cursor = getContentResolver().query(contactData, null, null, null, null);
cursor.moveToFirst();
String name = cursor.getString(cursor.getColumnIndexOrThrow(ContactsContract.PhoneLookup.DISPLAY_NAME));
//String number = cursor.getString(cursor.getColumnIndexOrThrow(ContactsContract.PhoneLookup.NUMBER));
name1.setText(name);
//num1.setText(number);
}
break;
}
}
据说问题(NPE)位于我的代码的第103行,如下所示:
name1.setText(name);
我注释掉了代码的数字部分,因为我想如果我可以得到这个部分,那么下一部分就会排成一行。如果有人看到任何问题,请随时告诉我。
除此之外 - 感谢您的帮助。
答案 0 :(得分:1)
你可能没有初始化name1作为@Gabe提到的(在创建或简历中你应该说name1 =(TextView)findViewById(R.id。[yourTextViewID to here])
如果不是这种情况,你就不会记录日志' name'看它是不是空?