Диалоговое окно не закрывается в Android - PullRequest
1 голос
/ 11 июня 2011

в моем приложении, когда я касаюсь поля редактирования, я открываю диалоговое окно, которое состоит из 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();
       }
     };

Пожалуйста, помогите мне друзья ......

Ответы [ 2 ]

3 голосов
/ 11 июня 2011

Почему вы используете onTouchListener вместо onClickListener?

Проблема заключается в том, что при нажатии элемента в диалоговом окне списка также вызывается событие касания диалогового окна, в результате чего он отображаетсяеще раз.

0 голосов
/ 11 декабря 2013

используйте следующий код

  dialog.dismiss();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...