2015-09-13 4 views
1

Я хочу объяснить, что мне нужно. У меня есть 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; 
      } 
     } 
    }; 

Я могу показать список значений, но я не знаю, как установить значения по щелчку .. есть Возможно? Благодаря

+0

Могу ли я спросить, почему вам нужно, чтобы сохранить значение вручную? –

ответ

1

Измените ваш 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(); 
} 
+0

Человек, которого ты спас меня! Спасибо! –

+0

Рад, что это помогло. Если он работает, пожалуйста, добро пожаловать в качестве ответа. –

+0

Да, он отлично работает;) Конечно, теперь я принимаю! –

Смежные вопросы