java - 如果复选框已被选中,如何存储?

标签 java android checkbox

如果选中“不再显示”复选框,我的 Activity 就不必再显示,但我不知道如何使其工作。

这是我迄今为止尝试过的:

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();
        }
    });
}

这段代码仍然不起作用,因为如果我选中复选框并终止并重新启动应用程序,该 Activity 仍然出现,我怎样才能让它工作?

我非常感谢任何帮助!

最佳答案

使用它来设置复选框值

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

使用它来获取复选框值。

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();
       }
   }
); 

享受编码的乐趣。

关于java - 如果复选框已被选中,如何存储?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38282021/

相关文章:

java - Jenkins kubernetes 插件 : provided port:50000 is not reachable

java - 当每个人都对 OSGi 进行标准化时,为什么 Sun 还要发明另一个模块系统?

Java - 在匿名内部类中使用非最终变量?

android - Strings.xml 不识别汉字

javascript - 是否可以将 'number of chosen checkboxes limitation'以多种形式放入循环中?

javascript - PHP 'check all' 中的 'while loop' 复选框 (JavaScript)

javascript - Ajax 调用 php 脚本从多个复选框表单发送值

java - 如何将 mcrypt-generic-init key 大小从 8 增加到 16?

android - 从字符串 Base64 到位图的 Covert 问题

android - 如何在 AVD 4.2 中启用多用户支持