我的功能为showDiaglog
。
我只是想,当用户点击显示的diaglog
复选框和微调器时,但是我遇到了监听器的问题。每次我打开设置时,弹出窗口都会显示两次。
首先是因为旋转器的监听器然后是第二个,因为我的一个设置被检查了。 我保存了该设置中的所有更改。
你能帮助我吗?
selectLanguage
.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0,
View arg1, int position, long arg3) {
// TODO Auto-generated method stub
saveSettingan(Key_Select, position);
if (position == 0) {
setDefaultLocal();
} else {
setLocal("in");
}
showDialog();
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
和这一个
case R.id.checkAcak:
saveSettingan(Key_Acak, isChecked);
showDialog();
break;
答案 0 :(得分:0)
您可以存储一个布尔值,它记住对话框的可见性。您的节目对话框应包含以下内容:
if (isDialogVisible)
return;
isDialogVisible = true;
然后设置一个解除侦听器,将isDialogVisible
设置为false。