Java 我想获取所有联系人列表(内容提供商)并将其附加到TextView中
我不知道我是否走对了路。仿真器不断显示消息xxx.app已执行停止并请求强制关闭。 这是密码Java 我想获取所有联系人列表(内容提供商)并将其附加到TextView中,java,android,Java,Android,我不知道我是否走对了路。仿真器不断显示消息xxx.app已执行停止并请求强制关闭。 这是密码 package fypj.ContactList; import android.app.Activity; import android.content.ContentResolver; import android.content.ContentValues; import android.database.Cursor; import android.net.Uri; import androi
package fypj.ContactList;
import android.app.Activity;
import android.content.ContentResolver;
import android.content.ContentValues;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.provider.ContactsContract;
import android.provider.Contacts.People;
import android.provider.ContactsContract.CommonDataKinds.Phone;
import android.widget.ArrayAdapter;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;
public class ContactList extends Activity {
ListView ContactsLV;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ContactsLV = (ListView)findViewById(R.id.ContactsLV);
populateContactList();
}
public void contentProvider(ContentResolver getContentResolver){
ContentValues values = new ContentValues();
values.put(Phone.DISPLAY_NAME, "Jaslyn");
values.put(Phone.LABEL, "Jaslyn Goh");
values.put(Phone.STARRED, 1);
Uri uri = getContentResolver().insert(Phone.CONTENT_URI, values);
Uri phoneUri = null;
Uri emailUri = null;
phoneUri = Uri.withAppendedPath(uri, People.ContactMethods.CONTENT_DIRECTORY);
values.clear();
values.put(Phone.TYPE, Phone.TYPE_MOBILE);
values.put(Phone.NUMBER, "91289161");
getContentResolver().insert(phoneUri, values);
emailUri = Uri.withAppendedPath(uri, People.ContactMethods.CONTENT_DIRECTORY );
values.clear();
//values.put(People.ContactMethods.KIND, Contacts.KIND_EMAIL);
values.put(People.ContactMethods.DATA, "asd@hotmail.com");
values.put(People.ContactMethods.TYPE, People.ContactMethods.TYPE_HOME);
getContentResolver().insert(emailUri, values);
}
public void populateContactList(){
Cursor c = getContacts();
String[] contacts = new String[]{
ContactsContract.Data.DISPLAY_NAME,
//ContactsContract.Data.CONTACT_STATUS,
//ContactsContract.Contacts.STARRED,
};
SimpleCursorAdapter adapter = new SimpleCursorAdapter(this,R.layout.main,
c, contacts, new int[] {R.id.ContactsLV});
//ContactsLV.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, contacts));
ContactsLV.setAdapter(adapter);
}
private Cursor getContacts(){
Uri uri = ContactsContract.Contacts.CONTENT_URI;
String[] projection = new String[] {
//ContactsContract.Contacts._ID,
ContactsContract.Contacts.DISPLAY_NAME,
};
String[] selectionArgs = null;
String sortOrder = ContactsContract.Contacts.DISPLAY_NAME + " COLLATE LOCALIZED ASC";
//String selection = null;
String selection = ContactsContract.Contacts.IN_VISIBLE_GROUP + " = '1'";
return managedQuery(uri, projection,selection,selectionArgs, sortOrder);
}
}
线上仔细检查
SimpleCursorAdapter adapter = new SimpleCursorAdapter(this,R.layout.main,
c, contacts, new int[] {R.id.ContactsLV});
和
您只需要更改布局整数。只需查看您发布的logcat段,其中没有特定的错误堆栈跟踪。但以下是您可以检查的事项:
从logcat发布您的错误,它将更容易帮助您。很高兴它帮助您认识到这个问题。
SimpleCursorAdapter adapter = new SimpleCursorAdapter(this,R.layout.main,
c, contacts, new int[] {R.id.ContactsLV});