我试图从手机中的联系人中选择显示名称,手机号码,并使用列表视图在列表中显示这些号码。但我发现了空指针异常而运行下面的代码:空指针异常
public class SeeActivity extends ListActivity {
public String [] allname;
public String [] allnumber;
public int listcount=0;
public String [] details;
String[] PROJECTION = new String[] {
ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME,
ContactsContract.CommonDataKinds.Phone.NUMBER
};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
;
Cursor phone= getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,PROJECTION ,null ,null ,null);
try{
while(phone.moveToNext())
{
String name= phone.getString(phone.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
String number=phone.getString(phone.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
allname[listcount]=name;
allnumber[listcount]=number;
details [listcount]=name+" "+number;
listcount=listcount+1;
}
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1,details);
setListAdapter(adapter);
ListView l=getListView();
l.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
Toast.makeText(getApplicationContext(),((TextView)arg1).getText() , Toast.LENGTH_SHORT).show();
}
});}
catch(Exception e)
{
Toast.makeText(getApplicationContext(),e.toString(),Toast.LENGTH_LONG).show();
}
}
}
Stacktrace在哪里? (在哪一行是抛出的NullPointerException?) – MrSmith42
你可能想要阅读以下第一个http://developer.android.com/guide/topics/providers/contacts-provider.html#RawContactBasics – David