无法将数组列表加载到数组适配器中 [英] Couldn't load array list into array adapter
本文介绍了无法将数组列表加载到数组适配器中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想在listView中获取移动联系人和视图。但是我面临错误。
它将在下面显示,
01-07 12:43:49.381:E / AndroidRuntime(863 ):FATAL EXCEPTION:main
01-07 12:43:49.381:E / AndroidRuntime(863):java.lang.RuntimeException:无法启动活动ComponentInfo {com.rathnasoft.sample / com.rathnasoft.sample。 ContactsPhone}:java.lang.NullPointerException
01-07 12:43:49.381:E / AndroidRuntime(863):at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
01-07 12:43:49.381:E / AndroidRuntime(863):在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
01-07 12:43:49.381:E / AndroidRuntime(863):at android .app.ActivityThread.access $ 2300(ActivityThread.java:125)
01-07 12:43:49.381:E / AndroidRuntime(863):在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:2033 )
01-07 12:43:49.381:E / AndroidRuntime(863):在android.os.Handler.dispatchMessage(Handler.java:99)
01-07 12:43:49.381:E / AndroidRuntime(863):在android.os.Looper.loop(Looper.java:123)
01-07 12:43:49.381:E / AndroidRuntime(863):在android.app.ActivityThread.main(ActivityThread.java:4627)
01-07 12:43:49.381:E / AndroidRuntime(863):at java.lang.reflect.Method.invokeNative(Native Method)
01-07 12:43:49.381:E / AndroidRuntime (863):at java.lang.reflect.Method.invoke(Method.java:521)
01-07 12:43:49.381:E / AndroidRuntime(863):at com.android.internal.os。 ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:868)
01-07 12:43:49.381:E / AndroidRuntime(863):at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626 )
01-07 12:43:49.381:E / AndroidRuntime(863):at dalvik.system.NativeStart.main(Native Method)
01-07 12:43:49.381:E / AndroidRuntime( 863):引起:java.lang.NullPointerException
01-07 12:43:49.381:E / AndroidRuntime(863):at com.rathnasoft.sample.ContactsPhone.displayContacts(ContactsPhone.java:67)
01-07 12:43:49.381:E / AndroidRuntime(863):at com.rathnasoft.sample.Contact sPhone.onCreate(ContactsPhone.java:22)
01-07 12:43:49.381:E / AndroidRuntime(863):at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
01 -07 12:43:49.381:E / AndroidRuntime(863):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
01-07 12:43:49.381:E / AndroidRuntime(863): ... 11更多
编码部分是:
public class ContactsPhone扩展活动{
private ListView lvContact;
protected void onCreate(Bundle savedInstanceState){
super。的onCreate(savedInstanceState);
setContentView(R.layout.contacts);
lvContact =(ListView)findViewById(R.id.listView1);
ArrayList< string> list = displayContacts();
ArrayAdapter< string> adapter = new ArrayAdapter< string>(getBaseContext(),android.R.layout.simple_list_item_1,list);
lvContact.setAdapter(adapter);
}
private ArrayList< string> displayContacts(){
ContentResolver cr = getContentResolver();
Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI, null ,
null , null , null );
ArrayList< string> contact = null ;
字符串 phoneNo = null ;
if (cur.getCount()> 0 ){
while (cur.moveToNext()){
String id = cur.getString(cur
.getColumnIndex(ContactsContract.Contacts._ID));
String name = cur
.getString(cur
.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
if (整数
.parseInt(cur.getString(cur
.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER) ))> 0 ){
光标pCur = cr.query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
null ,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID
+ =?, new String [] {id}, null );
while (pCur.moveToNext()){
phoneNo = pCur
.getString(pCur
.getColumnIndex(ContactsContract) .CommonDataKinds.Phone.NUMBER));
系统。 out .println( name + name + ph no + phoneNo);
Toast.makeText( this ,
名称: + name + ,电话号码: + phoneNo,
Toast.LENGTH_SHORT)。show();
}
pCur.close();
}
联系。添加(名称+ \ n + phoneNo);
}
}
返回联系人;
}
} < / string > < / string > < / string > < / string > < / string >
解决方案
2300(ActivityThread.java:125)
01-07 12:43:49.381:E / AndroidRuntime(863):在android.app.ActivityThread
H.handleMessage(ActivityThread.java:2033)
01-07 12:43:49.381:E / AndroidRuntime( 863):在android.os.Handler.dispatchMessage(Handler.java:99)
01-07 12:43:49.38 1:E / AndroidRuntime(863):在android.os.Looper.loop(Looper.java:123)
01-07 12:43:49.381:E / AndroidRuntime(863):在android.app.ActivityThread .main(ActivityThread.java:4627)
01-07 12:43:49.381:E / AndroidRuntime(863):at java.lang.reflect.Method.invokeNative(Native Method)
01-07 12:43:49.381:E / AndroidRuntime(863):at java.lang.reflect.Method.invoke(Method.java:521)
01-07 12:43:49.381:E / AndroidRuntime(863):在com.android.internal.os.ZygoteInit
MethodAndArgsCaller.run(ZygoteInit.java:868)
01-07 12:43:49.381:E / AndroidRuntime(863) :at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
01-07 12:43:49.381:E / AndroidRuntime(863):at dalvik.system.NativeStart.main(Native方法)
01-07 12:43:49.381:E / AndroidRuntime(863):引起:java.lang.NullPointerException
01-07 12:43:49.381:E / AndroidRuntime(863):在com.rathnasoft.sample.ContactsPhone.displayContacts(ContactsPhone.java:67)
01-07 12:43:49.381: E / AndroidRuntime(863):at com.rathnasoft.sample.ContactsPhone.onCreate(ContactsPhone.java:22)
01-07 12:43:49.381:E / AndroidRuntime(863):at android.app.Instrumentation .callActivityOnCreate(Instrumentation.java:1047)
01-07 12:43:49.381:E / AndroidRuntime(863):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
01- 07 12:43:49.381:E / AndroidRuntime(863):... 11更多
编码部分是:
public class ContactsPhone扩展活动{
private ListView lvContact;
protected void onCreate(Bundle savedInstanceState){
super。的onCreate(savedInstanceState);
setContentView(R.layout.contacts);
lvContact =(ListView)findViewById(R.id.listView1);
ArrayList< string> list = displayContacts();
ArrayAdapter< string> adapter = new ArrayAdapter< string>(getBaseContext(),android.R.layout.simple_list_item_1,list);
lvContact.setAdapter(adapter);
}
private ArrayList< string> displayContacts(){
ContentResolver cr = getContentResolver();
Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI, null ,
null , null , null );
ArrayList< string> contact = null ;
字符串 phoneNo = null ;
if (cur.getCount()> 0 ){
while (cur.moveToNext()){
String id = cur.getString(cur
.getColumnIndex(ContactsContract.Contacts._ID));
String name = cur
.getString(cur
.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
if (整数
.parseInt(cur.getString(cur
.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER) ))> 0 ){
光标pCur = cr.query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
null ,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID
+ =?, new String [] {id}, null );
while (pCur.moveToNext()){
phoneNo = pCur
.getString(pCur
.getColumnIndex(ContactsContract) .CommonDataKinds.Phone.NUMBER));
系统。 out .println( name + name + ph no + phoneNo);
Toast.makeText( this ,
名称: + name + ,电话号码: + phoneNo,
Toast.LENGTH_SHORT)。show();
}
pCur.close();
}
联系。添加(名称+ \ n + phoneNo);
}
}
返回联系人;
}
} < / string > < / string > < / string > < / string > < / string > 跨度>
Hi,
I want to get the mobile contacts and view in the listView. But i am facing error.
It will be shown below,
01-07 12:43:49.381: E/AndroidRuntime(863): FATAL EXCEPTION: main
01-07 12:43:49.381: E/AndroidRuntime(863): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.rathnasoft.sample/com.rathnasoft.sample.ContactsPhone}: java.lang.NullPointerException
01-07 12:43:49.381: E/AndroidRuntime(863): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
01-07 12:43:49.381: E/AndroidRuntime(863): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
01-07 12:43:49.381: E/AndroidRuntime(863): at android.app.ActivityThread.access$2300(ActivityThread.java:125)
01-07 12:43:49.381: E/AndroidRuntime(863): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
01-07 12:43:49.381: E/AndroidRuntime(863): at android.os.Handler.dispatchMessage(Handler.java:99)
01-07 12:43:49.381: E/AndroidRuntime(863): at android.os.Looper.loop(Looper.java:123)
01-07 12:43:49.381: E/AndroidRuntime(863): at android.app.ActivityThread.main(ActivityThread.java:4627)
01-07 12:43:49.381: E/AndroidRuntime(863): at java.lang.reflect.Method.invokeNative(Native Method)
01-07 12:43:49.381: E/AndroidRuntime(863): at java.lang.reflect.Method.invoke(Method.java:521)
01-07 12:43:49.381: E/AndroidRuntime(863): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
01-07 12:43:49.381: E/AndroidRuntime(863): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
01-07 12:43:49.381: E/AndroidRuntime(863): at dalvik.system.NativeStart.main(Native Method)
01-07 12:43:49.381: E/AndroidRuntime(863): Caused by: java.lang.NullPointerException
01-07 12:43:49.381: E/AndroidRuntime(863): at com.rathnasoft.sample.ContactsPhone.displayContacts(ContactsPhone.java:67)
01-07 12:43:49.381: E/AndroidRuntime(863): at com.rathnasoft.sample.ContactsPhone.onCreate(ContactsPhone.java:22)
01-07 12:43:49.381: E/AndroidRuntime(863): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
01-07 12:43:49.381: E/AndroidRuntime(863): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
01-07 12:43:49.381: E/AndroidRuntime(863): ... 11 more
And the coding part is:
public class ContactsPhone extends Activity {
private ListView lvContact;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.contacts);
lvContact = (ListView) findViewById(R.id.listView1);
ArrayList<string> list = displayContacts();
ArrayAdapter<string> adapter = new ArrayAdapter<string>(getBaseContext(), android.R.layout.simple_list_item_1,list);
lvContact.setAdapter(adapter);
}
private ArrayList<string> displayContacts() {
ContentResolver cr = getContentResolver();
Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI, null,
null, null, null);
ArrayList<string> contact = null;
String phoneNo = null;
if (cur.getCount() > 0) {
while (cur.moveToNext()) {
String id = cur.getString(cur
.getColumnIndex(ContactsContract.Contacts._ID));
String name = cur
.getString(cur
.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
if (Integer
.parseInt(cur.getString(cur
.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) > 0) {
Cursor pCur = cr.query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
null,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID
+ " = ?", new String[] { id }, null);
while (pCur.moveToNext()) {
phoneNo = pCur
.getString(pCur
.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
System.out.println("name" + name + "ph no" + phoneNo);
Toast.makeText(this,
"Name: " + name + ", Phone No: " + phoneNo,
Toast.LENGTH_SHORT).show();
}
pCur.close();
}
contact.add(name + "\n" + phoneNo);
}
}
return contact;
}
}</string></string></string></string></string>
解决方案
2300(ActivityThread.java:125) 01-07 12:43:49.381: E/AndroidRuntime(863): at android.app.ActivityThread
H.handleMessage(ActivityThread.java:2033) 01-07 12:43:49.381: E/AndroidRuntime(863): at android.os.Handler.dispatchMessage(Handler.java:99) 01-07 12:43:49.381: E/AndroidRuntime(863): at android.os.Looper.loop(Looper.java:123) 01-07 12:43:49.381: E/AndroidRuntime(863): at android.app.ActivityThread.main(ActivityThread.java:4627) 01-07 12:43:49.381: E/AndroidRuntime(863): at java.lang.reflect.Method.invokeNative(Native Method) 01-07 12:43:49.381: E/AndroidRuntime(863): at java.lang.reflect.Method.invoke(Method.java:521) 01-07 12:43:49.381: E/AndroidRuntime(863): at com.android.internal.os.ZygoteInit
MethodAndArgsCaller.run(ZygoteInit.java:868) 01-07 12:43:49.381: E/AndroidRuntime(863): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 01-07 12:43:49.381: E/AndroidRuntime(863): at dalvik.system.NativeStart.main(Native Method) 01-07 12:43:49.381: E/AndroidRuntime(863): Caused by: java.lang.NullPointerException 01-07 12:43:49.381: E/AndroidRuntime(863): at com.rathnasoft.sample.ContactsPhone.displayContacts(ContactsPhone.java:67) 01-07 12:43:49.381: E/AndroidRuntime(863): at com.rathnasoft.sample.ContactsPhone.onCreate(ContactsPhone.java:22) 01-07 12:43:49.381: E/AndroidRuntime(863): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 01-07 12:43:49.381: E/AndroidRuntime(863): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627) 01-07 12:43:49.381: E/AndroidRuntime(863): ... 11 more
And the coding part is:
public class ContactsPhone extends Activity { private ListView lvContact; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.contacts); lvContact = (ListView) findViewById(R.id.listView1); ArrayList<string> list = displayContacts(); ArrayAdapter<string> adapter = new ArrayAdapter<string>(getBaseContext(), android.R.layout.simple_list_item_1,list); lvContact.setAdapter(adapter); } private ArrayList<string> displayContacts() { ContentResolver cr = getContentResolver(); Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null); ArrayList<string> contact = null; String phoneNo = null; if (cur.getCount() > 0) { while (cur.moveToNext()) { String id = cur.getString(cur .getColumnIndex(ContactsContract.Contacts._ID)); String name = cur .getString(cur .getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME)); if (Integer .parseInt(cur.getString(cur .getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) > 0) { Cursor pCur = cr.query( ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = ?", new String[] { id }, null); while (pCur.moveToNext()) { phoneNo = pCur .getString(pCur .getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)); System.out.println("name" + name + "ph no" + phoneNo); Toast.makeText(this, "Name: " + name + ", Phone No: " + phoneNo, Toast.LENGTH_SHORT).show(); } pCur.close(); } contact.add(name + "\n" + phoneNo); } } return contact; } }</string></string></string></string></string>
这篇关于无法将数组列表加载到数组适配器中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文