1
나는 내 연락처 활동이 원활하게 작동하도록 노력하고 있습니다. 일반적인 문제이지만, 기존 솔루션을 제 코드에 적용 할 수없는 것처럼 보입니다. 어떤 도움이라도 대단히 감사 할 것입니다, 나는 여기서 머리카락을 찢고 있습니다. 내가 연락처 목록을 반환 위의 코드를 사용하고연락처의 전화 번호를 검색하는 방법 (Android)?
public class nominateContactsActivity extends ListActivity {
public String strName;
public String strLoginCode;
public String strTelNo;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.nominatecontactsactivitytest);
this.getListView().setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
this.getListView().setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
Cursor cursor = managedQuery(ContactsContract.Contacts.CONTENT_URI,
null, null, null, null);
startManagingCursor(cursor);
String[] contacts = new String[] {ContactsContract.Contacts.DISPLAY_NAME, ContactsContract.CommonDataKinds.Phone.NUMBER};
String[] columns = new String[] { ContactsContract.Contacts.DISPLAY_NAME};
int[] to = new int[] { android.R.id.text1 };
SimpleCursorAdapter adapter = new SimpleCursorAdapter(this,
android.R.layout.simple_list_item_multiple_choice, cursor, columns, to);
this.setListAdapter(adapter);
Button finishButton = (Button) this.findViewById(R.id.finishButton);
finishButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
SimpleCursorAdapter adapter = (SimpleCursorAdapter) nominateContactsActivity.this.getListAdapter();
Cursor cursor = adapter.getCursor();
ListView lv = nominateContactsActivity.this.getListView();
SparseBooleanArray selectedItems = lv.getCheckedItemPositions();
for (int i = 0; i < selectedItems.size(); i++) {
int selectedPosition = selectedItems.keyAt(i);
cursor.moveToPosition(selectedPosition);
Log.d("", cursor.getString(cursor.getColumnIndex(
ContactsContract.Contacts.DISPLAY_NAME))+" is checked");
Log.d("", "row id: "+adapter.getItemId(selectedPosition));
}
}
});
- 내가 바란대로이 잘 작동리스트 뷰에서 연락처의 이름을 표시합니다. 그러나 전화 번호는 가져 오지 않으며, 나는 그 (것)들을 얻는 방법을 알아낼 수 없다.
는
감사합니다, 감사합니다, 감사합니다! 이것은 2 주 동안 나를 미치게 만들었습니다. – user1593869
환영합니다 ...... :) 기쁜 마음으로 당신을 도왔습니다. :) – GrIsHu
안녕하세요, 전에 도움을 주셔서 너무 고맙습니다. 지금 새로운 문제가 생깁니다 ... 나는 이것 이후 DB에 하나의 연락 만 받습니까? 'Cursor phones = getContentResolver(). query (ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null, null, null); while (phones.moveToNext()) { \t strName = phones.getString (phones.getColumnIndex (ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME))); strTelNo = phones.getString (phones.getColumnIndex (ContactsContract.CommonDataKinds.Phone.NUMBER))); uploadContacts(); phones.close();} – user1593869