如何设置复选框不被选中
How to set check box to be unchecked
我在将复选框设置为未选中时遇到了一些问题。
我有两个片段,第一个片段包含一个复选框和一个按钮,在我选中复选框并按下一个按钮后,第二个片段加载并显示一条消息。当我按下后退按钮时,第一个片段重新加载并且复选框保持选中状态,我怎样才能取消选中它。
下面是我如何初始化复选框,这个函数是从 onViewCreated() 调用的
private void initRefundCheckBox(){
final CheckBox refund = getView().findViewById(R.id.refund_checkbox);
if(isRefund)//This section is to check if we reloaded the first
//pragment and isRefund was already true - then set it
//to be false and uncheck the checkbox
{
isRefund = false;
refund.toggle();
refund.setSelected(isRefund);
refund.setChecked(isRefund);
}
refund.setChecked(isRefund);
refund.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
isRefund = refund.isChecked();
/// somecode
}
});
}
Override
第一个片段中的函数 .. setUserVisibilityHint(...)
只是将检查设置为 false.. 像这样..
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if (getActivity()!=null)
{
refund.setChecked(false);
}
}
简单地说,在 nextButton 的 onClickListener 上启动第二个片段后,重置复选框。
refund.setChecked(false);
我在将复选框设置为未选中时遇到了一些问题。 我有两个片段,第一个片段包含一个复选框和一个按钮,在我选中复选框并按下一个按钮后,第二个片段加载并显示一条消息。当我按下后退按钮时,第一个片段重新加载并且复选框保持选中状态,我怎样才能取消选中它。
下面是我如何初始化复选框,这个函数是从 onViewCreated() 调用的
private void initRefundCheckBox(){
final CheckBox refund = getView().findViewById(R.id.refund_checkbox);
if(isRefund)//This section is to check if we reloaded the first
//pragment and isRefund was already true - then set it
//to be false and uncheck the checkbox
{
isRefund = false;
refund.toggle();
refund.setSelected(isRefund);
refund.setChecked(isRefund);
}
refund.setChecked(isRefund);
refund.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
isRefund = refund.isChecked();
/// somecode
}
});
}
Override
第一个片段中的函数 .. setUserVisibilityHint(...)
只是将检查设置为 false.. 像这样..
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if (getActivity()!=null)
{
refund.setChecked(false);
}
}
简单地说,在 nextButton 的 onClickListener 上启动第二个片段后,重置复选框。
refund.setChecked(false);