在我的安卓应用中,我有碎片,并且在其中一个碎片中,我有一个复选框。 这个复选框有一个监听器,当选中时会显示警示对话框:
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean isChecked) {
if (isChecked) {
alertDialog.setPositiveButton(R.string.is_ok, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int arg1) {
NItem item = new NItem();
item.isOk = 1;
setItem(item);
}
});
alertDialog.setNegativeButton(R.string.is_not_ok, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int arg1) {
NItem item = new NItem();
item.isOk = 0;
setItem(item);
}
});
alertDialog.show();
}
}
当我勾选复选框并跳转到其他片段,然后回到包含该复选框的片段时,方法onCheckedChanged
会再次被调用。我认为这是因为片段从保存状态中恢复过来了。如何避免这种情况发生?