我有一个切换按钮,可以将主题切换为黑暗。因此它位于片段中。我设置的主题不是片段。我正在尝试从片段设置
private static final String PREFS_NAME = "prefs";
private static final String PREF_DARK_THEME = "dark_theme";
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragment_settings, container,false);
SharedPreferences preferences = getActivity().getSharedPreferences(PREFS_NAME, MODE_PRIVATE);
boolean useDarkTheme = preferences.getBoolean(PREF_DARK_THEME, false);
if(useDarkTheme) {
setTheme(R.style.AppTheme_Dark_NoActionBar);
}
此处“无法解析方法'setTheme(int)'”
super.onCreate(savedInstanceState);
Switch toggle = v.findViewById(R.id.themeSwitch);
toggle.setChecked(useDarkTheme);
toggle.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton view, boolean isChecked) {
toggleTheme(isChecked);
}
});
return v;
}
private void toggleTheme(boolean darkTheme) {
SharedPreferences.Editor editor = getActivity().getSharedPreferences(PREFS_NAME, MODE_PRIVATE).edit();
editor.putBoolean(PREF_DARK_THEME, darkTheme);
editor.apply();
Intent intent = getActivity().getIntent();
getActivity().finish();
startActivity(intent);
}
我正在尝试将主题切换为黑暗