如何在Android上保存首选活动状态

如何在Android上保存首选活动状态,android,sharedpreferences,preferenceactivity,Android,Sharedpreferences,Preferenceactivity,我正在尝试开发一个具有PreferenceActivity两个复选框Preference和MainActivity的应用程序。我希望当你的选择和其中的一些转到MainActivity、saved,然后她再次选择时,只看到你先选择了。我什么都试过了,但没有成功。帮助我!! 我的代码: 我的主要活动是: public class MainActivity extends Activity { Button jugar, preferencias, acercade, maximo, salir; V

我正在尝试开发一个具有PreferenceActivity两个复选框Preference和MainActivity的应用程序。我希望当你的选择和其中的一些转到MainActivity、saved,然后她再次选择时,只看到你先选择了。我什么都试过了,但没有成功。帮助我!! 我的代码:

我的主要活动是:

public class MainActivity extends Activity {
Button jugar, preferencias, acercade, maximo, salir;
Vibrator v;
Boolean isVibrar;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main_land);
    v = (Vibrator) this.getSystemService(Context.VIBRATOR_SERVICE);
    jugar = (Button) findViewById(R.id.botonJugar);
    preferencias = (Button) findViewById(R.id.botonOpciones);
    acercade = (Button) findViewById(R.id.botonAcercaDe);
    maximo = (Button) findViewById(R.id.botonPuntuaciones);
    salir = (Button) findViewById(R.id.botonSalir);
    SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(this);
    isVibrar = sharedPref.getBoolean("vibracion", true);


public void preferencias(View view) {
    if (isVibrar==true) {
        v.vibrate(200);
    }

    Intent i = new Intent(MainActivity.this, Preferencias.class);
    startActivity(i);
}

我认为您需要调用apply或commit来保存首选项更改。我认为您需要做的只是指定
R.xml.preferences
文件,然后加载它们。首选项活动将存储管理到共享首选项中…当您修改首选项时,需要在onPreferenceChange方法中调用
gg.apply()
public class MainActivity extends Activity {
Button jugar, preferencias, acercade, maximo, salir;
Vibrator v;
Boolean isVibrar;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main_land);
    v = (Vibrator) this.getSystemService(Context.VIBRATOR_SERVICE);
    jugar = (Button) findViewById(R.id.botonJugar);
    preferencias = (Button) findViewById(R.id.botonOpciones);
    acercade = (Button) findViewById(R.id.botonAcercaDe);
    maximo = (Button) findViewById(R.id.botonPuntuaciones);
    salir = (Button) findViewById(R.id.botonSalir);
    SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(this);
    isVibrar = sharedPref.getBoolean("vibracion", true);


public void preferencias(View view) {
    if (isVibrar==true) {
        v.vibrate(200);
    }

    Intent i = new Intent(MainActivity.this, Preferencias.class);
    startActivity(i);
}