Подчеркивает FindPreference, getSharedPreferences. Необходимо перенести из активити во фрагмент, но не получается
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View rootView = inflater.inflate(R.layout.fragment_setting, container, false);
Preference customPref = (Preference) rootView.findPreference("customPref");
customPref.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
public boolean onPreferenceClick(Preference preference) {
Toast.makeText(getContext(),
"The custom preference has been clicked",
Toast.LENGTH_LONG).show();
SharedPreferences customSharedPreference = getSharedPreferences(
"myCustomSharedPrefs", Activity.MODE_PRIVATE);
SharedPreferences.Editor editor = customSharedPreference
.edit();
editor.putString("myCustomPref",
"The preference has been clicked");
editor.apply();
return true;
}
});
return rootView;
}
Потому что метод getSharedPreferences это метод контекста, а вы вызываете его у фрагмента.
SharedPreferences customSharedPreference = getContext().getSharedPreferences(
"myCustomSharedPrefs", Activity.MODE_PRIVATE);
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники