다음 코드를 사용하여 연락처의 이름과 해당 확인란의 listview를 채 웁니다.listview 및 연락처를 사용하여 로컬 연락처 목록을 만드는 방법은 무엇입니까?
현재 코드는 전체 목록을 로그에 저장합니다.
목록에서 선택한 연락처를 가져 와서 다른 활동의 앱에서 사용할 수 있도록 로컬로 저장하려고합니다.
몇 가지 안내를 제공해 주시겠습니까?
나는 여기 안드로이드 문서뿐만 아니라 수많은 게시물을 보았다. 나는이 문제에 대해 당신의 친절한 도움을 구합니다.
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[] 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();
cursor = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,null,null, null);
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);
strName=cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
strTelNo = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
Log.d("NAME: ",strName);
Log.d("NUM: ", strTelNo);
}cursor.close();
}
});
}
고맙습니다.
편집 :
좋아, 내가 접촉의 직렬화 된 배열을 저장 된 SharedPreferences를 사용합니다.
아직 실제로이 배열을 생성하는 문제에 직면 해 있습니다. 아무도 도와 줄 수 없습니까?
미안 내가 당신을 오해했다고 생각 - 내가 주를 의미 내 응용 프로그램 내 활동과 다른 * 활동 * 데이터. 제안 해 주셔서 감사합니다. – user1593869
답변이 업데이트되었습니다. – Aerilys
이미 특정 항목에 대해 sharedpreferences를 사용하고 있지만이 이름과 숫자로 배열 (또는 다른 객체)을 저장하는 데 적합한 옵션입니까? sharedpreferences가 단순한 이름 값 쌍에 대해서만 사용되지 않습니까? – user1593869