在处理带回的片段时,检查当前的复选框状态,并根据需要重新启用它。以下是可能的实现:
在片段的 onCreateView() 方法中保存复选框的状态:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_layout, container, false);
checkBox = (CheckBox) view.findViewById(R.id.checkbox);
if (savedInstanceState != null) {
Boolean isChecked = savedInstanceState.getBoolean("CHECKBOX_STATE");
checkBox.setChecked(isChecked);
}
return view;
}
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putBoolean("CHECKBOX_STATE", checkBox.isChecked());
}
然后在片段的 onResume() 方法中检查复选框状态并重新启用它:
@Override
public void onResume() {
super.onResume();
if(!checkBox.isEnabled() && checkBox.isClickable()) {
checkBox.setEnabled(true);
}
}
上一篇:Android复选框取消选中
下一篇:Android复选框选中一个变量