我有一个listView
,当用户退出对话框并决定不继续时,我想取消选中该项目。问题是 - 我无法知道用户是否驳回了对话框。这是我能够提出的最好的
// inside a DialogFragment
@Override
public void dismiss() {
Log.d("dismiss", "Dismissed");
if (logEntries.customLocation == false) {
logEntries.drawer.customLocationNotSelected(true);
}
}
有谁知道如何设置监听器来跟踪对话解雇?
答案 0 :(得分:1)
您可以使用类似
的布尔标志boolean isSavedCheck = false;
在setPositiveButton()方法中,如果保存所选项目,则设置isSavedCheck = true;
.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
isSavedCheck = true;
});
如果调用setNegativeButton()并且isSavedCheck = false;然后取消所有检查项目。
.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
if(!isSavedCheck){
// cancel all check boxes
}
});