我想从复选复选框中保存值boolean true或false,并在另一个视图中使用它。
这是我想做的事情
在我的活动中,我有复选框,它看起来像这样
checkBoxAdvanced = (CheckBox) findViewById(R.id.checkbox_advanced);
checkBoxNeutral = (CheckBox) findViewById(R.id.checkbox_neutral);
checkBoxAdvanced.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
checkBoxNeutral.setChecked(false);
checkState = true;
sendCheckState();
}
});
checkBoxNeutral.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
checkBoxAdvanced.setChecked(false);
}
});
public void sendCheckState(){
Intent intent = new Intent(SettingsActivity.this, MainActivity.class);
intent.putExtra("checkValue", value);
startActivity(intent);
}
在我的MainActivity中我想使用该值来隐藏或显示文本,具体取决于值
任何可以帮助解决这个问题的人?
答案 0 :(得分:1)
在MainActivity类中获取此值
boolean flag = getIntent().getBooleanExtra("checkValue",false);
if(flag){
// hide or show your view here
}
答案 1 :(得分:1)
您可以使用SharedPreferences在项目中使用相同的名称SHARED_PREFERENCES_NAME保存值并在其他位置访问它:
checkBoxAdvanced.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
checkBoxNeutral.setChecked(false);
checkState = true;
SharedPreferences sp = this.getSharedPreferences(SHARED_PREFERENCES_NAME,Context.MODE_PRIVATE);
SharedPreferences.Editor spEdit = sp.Edit();
spEdit.putBoolean("checkState",true);
spEdit.apply();
Intent intent = new Intent(SettingsActivity.this, MainActivity.class);
startActivity(intent);
}
});
要在其他活动或服务中访问checkState的值:
SharedPreferences sp = this.getSharedPreferences(SHARED_PREFERENCES_NAME,Context.MODE_PRIVATE);
boolean checkState = sp.getBoolean("checkState",false);