我想解释一下我需要什么。我有一个 preference.xml,其中有一个 ListPreference
。
<ListPreference
android:key="preference_grid"
android:title="@string/preference_grid"
android:summary="@string/preference_grid_summary"
android:entries="@array/preference_grid_entries"
android:entryValues="@array/preference_grid_values"
android:defaultValue="preference_grid_none"
/>
然后我创建了一个包含值列表的对话框:
public void gridOnOff(View view) {
//Toast.makeText(MainActivity.this, "Grid On/Off", Toast.LENGTH_SHORT).show();
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Grid Options");
builder.setItems(R.array.preference_grid_entries, gridDialogListener);
builder.create();
builder.show();
}
private DialogInterface.OnClickListener gridDialogListener = new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
switch (which) {
case 0:
break;
case 1:
break;
case 2:
break;
}
}
};
我可以显示值列表,但我不知道如何在点击时设置值。这可能吗?谢谢
最佳答案
像这样更改你的 onClickListener
public void onClick(DialogInterface dialog, int which) {
PreferenceManager.getDefaultSharedPreferences(MainActivity.this).edit().putString("preference_grid",
getResources().getStringArray(R.array.preference_grid_values)[which]).apply();
}
关于java - 从 Activity 中设置偏好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32551670/