值更改时,首选项视图未刷新,与原点重叠

时间:2019-11-21 10:28:43

标签: java android

我正在尝试为应用创建首选项。 我已经通过PreferenceScreen创建了一个开关,该开关是SharedPreference更新的键。 当我打开开关时,“关闭”视图仍然存在。

The "off" view remains when turned on

SettingFragment.java

public class SettingsFragment extends PreferenceFragment implements SharedPreferences.OnSharedPreferenceChangeListener {    
    @Override
    public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
        addPreferencesFromResource(R.xml.preference);
        SharedPreferences sharedPreferences = getPreferenceScreen().getSharedPreferences();
        sharedPreferences.registerOnSharedPreferenceChangeListener(this);
    }

    @Override
    public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
        switch (key){
            case "VIBRATION":
                boolean Vibration = sharedPreferences.getBoolean(key,false);
                break;
            }
     }
}

SettingsActivity.java

public class SettingsActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_settings);

        ActionBar actionBar = this.getSupportActionBar();

        if (actionBar != null) {
            actionBar.setDisplayHomeAsUpEnabled(true);
        }

        getFragmentManager().beginTransaction()
                .replace(android.R.id.content, new SettingsFragment())
                .commit();
    }
}

0 个答案:

没有答案