콘텐츠 리졸버를 사용하여 모든 연락처를 가져 와서 커서에 저장합니까? 그런 다음 contentresolver.query() 메서드를 사용하여 모든 연락처 이름을 가져와 모든 이름을 문자열 배열에 저장합니다.
그런 다음이 코드를 사용하여 동적 Listpreference를 만듭니다
PreferenceScreen pf = getPreferenceManager().createPreferenceScreen(this);
dialogBasedPrefCat.setTitle("Category Title");
pf.addPreference(dialogBasedPrefCat);
enter code here
ListPreference lf = new ListPreference(this);
lf.setKey("keyName"); //Refer to get the pref value
lf.setEntries("Array of values");
lf.setEntryValues("Array of item value"); // Here you can add Array of String
lf.setDialogTitle("Dialog Title");
lf.setTitle("Title");
lf.setSummary("Summary");
dialogBasedPrefCat.addPreference(lf); Adding under the category
return pf;
내가 당신을 도울 수 있다고 생각합니다.