Код: Выделить всё
import android.preference.PreferenceActivity;
...
public class LatinIMESettings extends PreferenceActivity
implements SharedPreferences.OnSharedPreferenceChangeListener,
DialogInterface.OnDismissListener {
@Override
protected void onCreate(Bundle icicle) {
...
SharedPreferences prefs = getPreferenceManager().getSharedPreferences();
prefs.registerOnSharedPreferenceChangeListener(this);
}
...
}
Код: Выделить всё
import androidx.fragment.app.FragmentActivity;
import androidx.preference.PreferenceFragmentCompat;
...
public class LatinIMESettings extends FragmentActivity
implements SharedPreferences.OnSharedPreferenceChangeListener,
DialogInterface.OnDismissListener {
static class LatinIMESettingsFragment extends PreferenceFragmentCompat {
@Override
public void onCreatePreferences(@Nullable Bundle savedInstanceState, @Nullable String rootKey) {
setPreferencesFromResource(R.xml.prefs, rootKey);
}
}
LatinIMESettingsFragment fragment = new LatinIMESettingsFragment();
@Override
protected void onCreate(Bundle icicle) {
fragment = new LatinIMESettingsFragment();
...
SharedPreferences prefs = fragment.getPreferenceManager().getSharedPreferences();
prefs.registerOnSharedPreferenceChangeListener(this);
}
...
}
В этом ответе говорится, что мне нужно позвонить после того, как я закончу с onCreate , но я не совсем уверен, когда это должно произойти
Подробнее здесь: https://stackoverflow.com/questions/781 ... f-subclass
Мобильная версия