#android #dialog
#Android #диалоговое окно
Вопрос:
в моем приложении, когда я касаюсь окна редактирования, я открываю диалоговое окно, которое состоит из последовательности символов 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();
}
};
Пожалуйста, помогите мне, друзья……
Ответ №1:
Почему вы используете onTouchListener
вместо onClickListener
?
Проблема в том, что когда вы щелкаете элемент в диалоговом окне списка, событие касания в диалоговом окне также запускается, что приводит к его повторному отображению.
Ответ №2:
используйте следующий код
dialog.dismiss();