0
我已經使用共享首選項存儲了複選框值(選中/取消選中),但在關閉並重新打開應用程序時傳遞複選框的動作時/遇到問題。
說明:單擊複選框時不同活動中的按鈕隱藏/顯示(即,check =顯示&取消選中=隱藏)正常工作。
當我關閉應用程序,並重新打開該複選框撐檢查,但是按鈕未出現使用共享偏好重新打開應用程序的複選框傳遞操作
final CheckBox checkBox = (CheckBox) findViewById(R.id.add_fb);
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
final SharedPreferences.Editor editor = preferences.edit();
checkBox.setChecked(preferences.getBoolean("checked",false));
checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
isCheckedValue = isChecked;
editor.putBoolean("checked", isChecked);
editor.apply();
}
});
}
我試圖實現在onStart()將數據傳遞
複選框代碼保存提供的if-else條件
@Override
protected void onStart() {
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
final SharedPreferences.Editor editor = preferences.edit();
super.onStart();
if(checkBox.isChecked()) {
editor.putBoolean("checked", true);
editor.apply();
}else{
editor.putBoolean("checked", false);
editor.apply();
}
}
這是我傳遞的數據一旦選中該複選框
@Override
public void onBubbleClick(BubbleLayout bubble) {
Intent in = new Intent(MainActivity.this, PopUpWindow.class);
in.putExtra("yourBoolName", isCheckedValue);
startActivity(in);
}
我很困惑你的流量。假設你有兩個活動:'Activity1' [A1](帶複選框)和'Activity2' [A2](帶按鈕)。您可以將適當的值從「A1到A2」傳遞。當你說你把應用程序的背景。那之後流量究竟是什麼? – Shaishav
@Shaishav我不把應用程序放在後臺我完全關閉應用程序並重新開始,當我再次啓動應用程序時,checbox(add_fb)被選中,但是需要顯示的不同活動中的按鈕不顯示 (我可以簡單介紹聊天過程,但我不知道如何開始) –
Put:'isCheckedValue = preferences.getBoolean(「checked」,false); checkBox.setChecked(isCheckedValue);'當前你調用checkBox.setChecked()的地方。 – Shaishav