Я пытаюсь получить и установить значение listPreference из разных действий, и оно не работает.
Когда я читаю и записываю его из основного занятия, оно сохраняет только то, что я пишу, поэтому япредполагая, что я не нацеливаюсь на listPreference правильно, когда я вне активности, потому что она работает внутри моей активности предпочтений, нет проблем.
Я видел некоторые ссылки на сайте разработчика на CharSequence с getValue и getEntryValuesно мне не повезло заставить их работать правильно.
Вот мой код для нажатия кнопки и установки значения предпочтения списка, после чего запускается намерение переключать действия:
Основная активность, пытаясь установить значение listpreference на первое значение индекса;
SharedPreferences settings = getSharedPreferences("PreferenceXML",
MODE_PRIVATE);
SharedPreferences.Editor editor = settings.edit();
editor.putString("ListPreferenceInXML", "1");
editor.commit();
String levelCheck = settings.getString("ListPreferenceInXML","1");
В моем следующем упражнении я вызываю чтение значения при запуске, чтобы увидеть, какая listPreference активна, и это всегда число, с которого я пишусетевая активность, указанная выше.Проблема заключается в том, что когда я перехожу к действию «Предпочтения», оно не совпадает или не обновляется, когда я изменяю его в ListPreference и запускаю то же действие оттуда (оно все равно считывает значение, заданное мной с помощью кнопки «Основное действие»)
код для активности, пытающейся прочитать ListPreference, следующим образом:
SharedPreferences settings = getSharedPreferences("PreferenceXML",
MODE_PRIVATE);
Toast.makeText(this, settings.getString("ListPreferenceInXML","1"), 1000).show();