保存switchview的状态

时间:2013-08-24 14:41:32

标签: android uiswitch

我的应用程序有一个switchview。它用来锁定一些消息。它工作正常,但问题是在切换状态。如果我在切换意味着消息被锁定,在我关闭应用程序后,当我重新启动应用程序时,其状态更改为上一个,表示消息已解锁。

我想保存先前拖动开关的状态。这是我的代码:

@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
    // TODO Auto-generated method stub      
    if (isChecked) {
        try{
            Database_SMS info = new Database_SMS(this);
            String data = info.getData();
            info.close();

            Global.lock = true;
            Toast.makeText(getApplicationContext(), "Message is locked", Toast.LENGTH_LONG).show();
            Vibrator v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
            // Vibrate for 500 milliseconds
            v.vibrate(500);

            }catch(Exception e)
            {
                Toast.makeText(getApplicationContext(), "Message is not selected", Toast.LENGTH_LONG).show();
            }
    } 
    else {
        Global.lock = false;
        Toast.makeText(getApplicationContext(), "Message is unlocked", Toast.LENGTH_LONG).show();
        Vibrator v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
        // Vibrate for 500 milliseconds
        v.vibrate(500);
    }
}

请帮帮我。

1 个答案:

答案 0 :(得分:1)

您应该使用SharedPreferences保存此类信息,并且可以在初始化时锁定/解锁消息。

存储价值你可以这样做:

SharedPreferences prefs = this.getSharedPreferences("com.example.app", Context.MODE_PRIVATE);
prefs.edit().putBoolean("value_name", true).commit();

阅读价值:

boolean value = prefs.getBoolean("value_name", false);