0

我的应用程序有一个 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);
    }
}

请帮我。

4

1 回答 1

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); 
于 2013-08-24T14:58:10.900 回答