I want explain what i need.. I've got a preference.xml in which i have a 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"
/>
Then i've created a dialog with a list of the values:
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;
}
}
};
I can show the list of values but i don't know how set the values on click.. is it possible? Thanks
Change your onClickListener like this
public void onClick(DialogInterface dialog, int which) {
PreferenceManager.getDefaultSharedPreferences(MainActivity.this).edit().putString("preference_grid",
getResources().getStringArray(R.array.preference_grid_values)[which]).apply();
}