다음 Alert.Builder에서 검사 된 항목에 대한 정보를 얻을 수있는 방법이 있습니까? 누군가가 긍정적 인 버튼을 클릭했을 때 SharedPreferences에 일부 부울을 저장해야합니다. 이러한 불리언 값은 사용자가 경고에서 선택한 것입니다. 어떻게 얻을 수 있습니까?Alert.Builder의 다중 선택 항목에서 체크 된 항목을 얻는 방법?
AlertDialog.Builder builder = new AlertDialog.Builder(this);
final SharedPreferences preferences = getSharedPreferences("type_settings", MODE_PRIVATE);
boolean[] selectedTypes = getSelectedTypes(preferences);
builder.setIcon(R.drawable.menu_type)
.setTitle(R.string.list_dialog_title)
.setMultiChoiceItems(R.array.select_type_items, selectedTypes,
new DialogInterface.OnMultiChoiceClickListener() {
public void onClick(DialogInterface dialog, int whichButton, boolean isChecked) {
}
})
.setPositiveButton(R.string.types_save, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
SharedPreferences.Editor prefEditor = preferences.edit();
}
})
.setNegativeButton(R.string.types_cancel, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
dialog.cancel();
}
})
.create();
builder.show();
좋은 해결책. 그러나 선택한 항목 만 환경 설정에 저장하는 것이 올바른 방법입니다. 모든 항목, 심지어 선택되지 않은 항목까지 저장하고 있습니다. 네가 필요로하는 것이 맞다면. – Ronnie
나는 체크되지 않은 것들도 필요하다고 생각하지만, 어쨌든, 나의 배열은 매우 크지 않고, 단지 15 요소들입니다. – DaJackal
saveSelectedTypes 코드를 포함 할 수 있습니까? sharedpreferences에 selecteditem의 값을 저장하고 싶습니다. – HeartlessArchangel