1

是的,网上有很多关于这些东西的问题和答案,但我只是不知道如何使用 sharedpreference 保存复选框状态。有人只是帮助我完成我无法完成的编码部分。

ch = (CheckBox) findViewById(R.id.checkBox1);

    ch.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
        if(ch.isChecked())
                {
            Toast.makeText(getApplicationContext(), "Check", Toast.LENGTH_SHORT).show();
            }
        else
        {
            Toast.makeText(getApplicationContext(), "Uncheck", Toast.LENGTH_SHORT).show();
        }}
    });
    }
4

3 回答 3

5

只需创建 SharedPrefrences 并使用.putBoolean()

 if(ch.isChecked()){             

    SharedPreferences settings = getSharedPreferences(PREFRENCES_NAME, 0);
    settings.edit().putBoolean("check",true).commit();

}
于 2012-09-19T13:21:53.843 回答
2

我想你已经知道的答案,让我为你扫清道路,

  • 在表中创建一个布尔字段
  • 选中 CheckBox 时将其值设置为 true,否则设置为 false

下次加载活动时,只需读取字段值并相应地设置复选框的状态。

于 2012-09-19T13:21:31.630 回答
1
if(ch.isChecked())
{
    SharedPreferences preferences = context.getSharedPreferences("prefs_name", Context.MODE_PRIVATE);
    preferences.edit().putBoolean("checked", True).commit();
}
于 2012-09-19T13:25:02.937 回答