ListPreference, получить значение из фрагмента

Мое приложение содержит listPreference с записями и список entryValues ​​в файле strings.xml.

Я хочу получить значение текущей выбранной записи в PreferenceFragment.

Прямо сейчас я использую следующий код для получения этих значений (а позже преобразую строку в целое число, чтобы использовать ее для URL-адреса, который зависит от переменных).

 @Nullable
        public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
            myView = inflater.inflate(R.layout.first_layout, container, false);


ListPreference lP = (ListPreference) findPreference("example_list");
String currValue = lP.getValue();

int aktuelleklasse = Integer.valueOf(currValue);


return myView;
}

к сожалению, я получаю сообщение об ошибке

java.lang.NullPointerException: попытка вызвать виртуальный метод java.lang.String android.preference.ListPreference.getValue() для нулевой ссылки на объект

Итак, что мне нужно сделать, чтобы получить свое значение без ошибок? (У меня довольно базовые навыки, так что не судите меня, если это очевидная проблема :))

Заранее спасибо!


person Quacksilber    schedule 07.03.2017    source источник


Ответы (1)


Вы делаете addPreferencesFromResource(R.xml.preferencesFile) перед этим разделом кода?
См. PreferenceFragment.findPreference всегда возвращает NULL

person LppEdd    schedule 07.03.2017
comment
Нет, не могли бы вы сказать мне, где мне нужно искать соответствующий текст для файла предпочтений? - person Quacksilber; 07.03.2017
comment
Это имя XML-файла ваших настроек. См. руководство по Vogella по адресу vogella.com/tutorials/AndroidFileBasedPersistence/< /а> - person LppEdd; 07.03.2017
comment
о, я мог подумать об этом xD. Большое спасибо! Теперь все работает нормально! - person Quacksilber; 07.03.2017
comment
Нет проблем. Потрясающий! - person LppEdd; 07.03.2017