【发布时间】:2016-07-10 13:47:45
【问题描述】:
如果选中“不再显示”复选框,我有一个不必再显示的 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();
}
});
}
此代码仍然不起作用,因为如果我选中 CheckBox 并杀死并重新启动应用程序,活动仍然出现,我该如何使其工作?
非常感谢任何帮助!
【问题讨论】:
-
你在哪里写共享首选项?
-
您需要在某些时候编写首选项...否则逻辑不正确...