如果复选框已选中,我如何存储? [英] How do I store if a CheckBox has been checked?

查看:130
本文介绍了如果复选框已选中,我如何存储?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个活动,如果一个不再显示复选框被选中,但我不能弄清楚如何使其工作,不必再显示。

I have an Activity that doesn't have to be displayed anymore if a "Don't show anymore" CheckBox is checked but I can't figure out how to make it work.

这是我到现在为止的尝试:

This is what I have tried up until now:

public class PopUpInfoActivity extends Activity {
static final String PREFS = "preference_file";

@Override
public void onCreate(Bundle state){
    super.onCreate(state);
    setContentView(R.layout.popupinfo_layout);


    CheckBox chk = (CheckBox) findViewById(R.id.dontshow_checkbox);
    chk.setChecked(PreferenceManager.getDefaultSharedPreferences(this).getBoolean("value", false));

    chk.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener(){
        @Override
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
            //store isChecked to Preferences
            SharedPreferences settings = getSharedPreferences(PREFS,0);
            SharedPreferences.Editor editor = settings.edit();
            editor.putBoolean("isChecked", false);

            PreferenceManager.getDefaultSharedPreferences(PopUpInfoActivity.this).edit().putBoolean("value", isChecked).apply();
        }
    });
}

此代码仍然不工作,因为如果我检查复选框,重新启动应用程序,活动仍然显示如何让它工作?

This code still doesn't work because if I check the CheckBox and kill and restart the app, the activity still appears how can I make it work?

我非常感谢任何帮助!

推荐答案

设置checkBox值使用此方法

chk.setChecked(PreferenceManager.getDefaultSharedPreferences(this).getBoolean("value", false));

使用获取checkBox值 b

use this for getting checkBox value.

chk.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {

       @Override
       public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {
          //store isChecked value in shareprefernce

          PreferenceManager.getDefaultSharedPreferences(PopUpInfoActivity.this).edit().putBoolean("value", isChecked).commit();
       }
   }
); 

享受编码。

这篇关于如果复选框已选中,我如何存储?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆