내 전화 번호부에서 연락처 목록을 보여주는 프로그램을 개발했습니다. 이 들어 나는 다음과 같은 코드를 사용합니다특정 연락처 만 표시
ContentResolver cr = getContentResolver();
Cursor cursor = cr.query(ContactsContract.Contacts.CONTENT_URI,
null,
ContactsContract.Contacts.HAS_PHONE_NUMBER + " = '1'",
null,
ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME + " COLLATE LOCALIZED ASC");
if (cursor != null && cursor.getCount() > 0) {
while (cursor.moveToNext()) {
String id = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));
String name = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
Uri.withAppendedPath(ContactsContract.Contacts.CONTENT_URI, String.valueOf(id));
Cursor phones = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
null,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = " + id,
null,
null);
if (phones != null) {
while (phones.moveToNext()) {
String phoneNumber = phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
contactList.add(new Contact(name, phoneNumber, id));
}
phones.close();
}
}
cursor.close();
}
adapter = new ContactAdapter(contactList, R.layout.contacts_list_item, getApplicationContext());
recyclerView.setAdapter(adapter);
모든 작품을, 프로그램 내 전화 번호부에서 모든 연락처를 표시하지만 나는 접촉의 특정 번호가를 표시 할. 예 : 전화 번호부에서 처음 50 개의 연락처를로드하고 스크롤 한 후 다음 50 개의 연락처가 목록의 끝에로드됩니다. 등등
이것을 위해 새로 고침 기능을 구현해야합니다 –
@AbdulWaheed 처음에 다운로드 한 대화 상대 수를 어떻게 제한합니까? –