在我的应用程序中,当我触摸一个编辑框时,我打开了一个对话框,其中包含一个 3 字符序列,如完整格式、年份格式和取消。当我选择其中一个时,会打开另一个对话框。
当第二个对话框打开时,我希望第一个对话框自动关闭或取消,但它没有发生......以下是我的代码部分
private OnTouchListener bdListener = new View.OnTouchListener()
{
@Override
public boolean onTouch(View v, MotionEvent event)
{
DOBalert();
return isexists;
}
private void DOBalert()
{
Builder DOBbuilder = new AlertDialog.Builder(RestingSpotAdd.this);
DOBbuilder.setTitle("Date of Birth");
final CharSequence[] items = {"YearFormat", "FullFormat","Cancel"};
DOBbuilder.setItems(items, new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int item)
{
int i = item;
if(i==0)
{
dialog.dismiss();
yearFormat();
}
else if(i==1)
{
dialog.cancel();
fullFormat();
}
else if(i==2)
{
cancel();
}
}
public void yearFormat()
{
showDialog(YEARSELECTOR_ID);
}
public void fullFormat()
{
showDialog(DATEYEARMONTHSELECTOR_ID);
}
});
AlertDialog DOBalert = DOBbuilder.create();
DOBalert.show();
}
};
请 friend 们帮帮我......
最佳答案
为什么要使用 onTouchListener
而不是 onClickListener
?
问题是当您单击列表对话框中的项目时,对话框的触摸事件也会被触发,导致它再次显示。
关于android - 对话框在android中没有被解雇,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6314127/