0

В моем файле preferences.xml У меня есть такие вещи, какКак я могу запустить DialogFragment, нажав на элемент предпочтения?

<?xml version="1.0" encoding="utf-8"?> 
<PreferenceScreen 
    xmlns:android="http://schemas.android.com/apk/res/android"> 

    <PreferenceCategory 
     android:title = "Random Title" 
     android:key = "random_category"> 

    </PreferenceCategory> 
</PreferenceScreen> 

И у меня есть PreferenceFragment:

public class PrefFragment extends PreferenceFragment { 

    @Override 
    public void onCreate(final Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     addPreferencesFromResource(R.xml.preferences); 
    } 

} 

Я хочу, чтобы добавить элемент к категории, где, если вы нажмете на нее, она вызывает SomeFunc() (который запускает диалоговое окно DialogFragment и оттуда я знаю, как сохранять значения предпочтений с помощью помощника, который я написал), но я не знаю, как включить только обычный кликабельный Preference, который запускает эту функцию.

ответ

1

Чтобы добавить на событие щелчка

Preference button = findPreference(preferenceKey); 
    button.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { 
     @Override 
     public boolean onPreferenceClick(Preference preference) { 
      // Do some stuff here 
      return true; 
     } 
    }); 

Также стоит проверить страницу настроек по умолчанию Android программы Studio (New -> Деятельность -> Настройки активности) - это довольно неет, но не слишком просто.

+0

избили меня до удара ... + 1 – BiGGZ

+0

Я пробовал использовать страницу предпочтений по умолчанию, но я понятия не имел, что я должен был на самом деле делать с ней. – KaliMa

+0

О, я знаю, это немного подавляющий пример, но он демонстрирует важные функции дизайна и функциональности, для этого вам просто требуется время. –