繁体   English   中英

Android节省了在不同活动之间切换的价值

[英]Android Save Value of Switch between Different Activities

我目前正在开发一个具有菜单的应用程序,菜单上的一个选项是“设置”,用户可以从中基本决定关闭声音和类似功能。 我目前在“设置”活动中有两个开关。 这是到目前为止“设置”活动的Java代码:

public class Options extends ActionBarActivity {
private  Switch ding;
private Switch countdown;
public  boolean isDingChecked;
public  boolean isCountdownChecked;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_options);
    ding = (Switch) findViewById(R.id.switch1);
    AppPreferences appPref;
    appPref = new AppPreferences(getApplicationContext(), "PREFS");
    appPref.SaveData("Value", "Tag");
    appPref.getData("state");
    if(appPref.getData("state").equals("true"))
    {
        ding.setChecked(true);
    }
    else if(appPref.getData("state").equals("false"))
    {
        ding.setChecked(false);
    }
    ding.setOnCheckedChangeListener(new OnCheckedChangeListener() {
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
            if(ding.isChecked())
            {
                ding.setChecked(true);
            }
        }
    });
    countdown = (Switch) findViewById(R.id.switch2);
    countdown.setOnCheckedChangeListener(new OnCheckedChangeListener() {
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
            // do something, the isChecked will be
            // true if the switch is in the On position
            isCountdownChecked = isChecked;

        }
    });     
}
}

但是,如果我返回到菜单活动,然后返回到选项活动,则开关的值将恢复为默认值。 有没有一种方法可以保存不同活动之间的状态? 谢谢!

您可以使用SharedPreferences。

存储:

SharedPreferences settings = getSharedPreferences("CoolPreferences", 0);
SharedPreferences.Editor editor = settings.edit();
editor.putString("StringName", "StringValue");
// Commit the edits!
editor.commit();

恢复它:

SharedPreferences settings = getSharedPreferences("CoolPreferences", 0);
String silent = settings.getString("StringName", "DefaultValueIfNotExists");

您还可以放置和恢复布尔值,整数和其他值... http://developer.android.com/reference/android/content/SharedPreferences.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM