Я хочу показать значение предпочтений на экране пользовательских настроек. Для этого мне нужно получить значения, в этом случае строки, в фрагменте предпочтения. В не фрагментах (действиях) я получаю значения, например. final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
и получить строку с String phonenumber = prefs.getString("preference_name", null);
, но в фрагменте предпочтения getDefaultSharedPreferences
не применим для фрагмента предпочтения.Как получить значение предпочтения в фрагменте предпочтения
Любая идея, как решить эту проблему?
Вот мой фрагмент кода:
public class PreferencesFragment extends PreferenceFragment implements
OnSharedPreferenceChangeListener {
TextView tvusername, tvphonenumber;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
getPreferenceScreen().getSharedPreferences()
.registerOnSharedPreferenceChangeListener(this);
final SharedPreferences prefs = PreferenceManager
.getDefaultSharedPreferences(this);
// entering preference phonenumber in text view
String phonenumber = prefs.getString("phonenumber", null);
;
tvphonenumber.setText(phonenumber);
// entering preference username in text view
String username = prefs.getString("username", null);
;
tvusername.setText(username);
}
Передайте ссылку на экземпляр хостинговой деятельности как контекст фрагментации при его создании, например, через конструктор фрагмента, а затем используйте его методы. – user3455363
@ user3455363 Поскольку я все еще новичок, я не совсем уверен, как это достичь. Поэтому мне нужно поставить 'final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences (this);' на мою хостинговую активность, а затем? Извините за мой глупый вопрос – sascha
Создайте поле в вашем фрагменте ex. Контекст hostActivity; затем добавьте параметр в cunstructor того же типа - Context, а когда u вызовите новый PreferencesFragment из активности вместо аргумента типа Context используйте ключевое слово this – user3455363