2016-04-15 3 views
1

Мой фрагмент расширяет BaseFragment, в котором есть CMYJsonHttpResponseHandler. и если обработчик возвращает ошибку num -622. basefragment запустит диалог. и мои два фрагмента в той же Деятельности. поэтому диалог будет создан дважды. но я хочу, чтобы ящик один раз в деятельности. код активности выглядит так:два фрагмента в той же деятельности

CMYGoodsListFragment commodityFragment = new CMYGoodsListFragment(this); 
     Bundle commodityBundle = new Bundle(); 
     commodityBundle.putString(KEY_INTENT_ID, "1"); 
     commodityFragment.setArguments(commodityBundle); 
     fragments.add(commodityFragment); 

     CMYGoodsListFragment serviceFragment = new CMYGoodsListFragment(this); 
     Bundle serviceBundle = new Bundle(); 
     serviceBundle.putString(KEY_INTENT_ID, "2"); 
     serviceFragment.setArguments(serviceBundle); 
     fragments.add(serviceFragment); 
+0

Пожалуйста, поделитесь своим кодом с того места, где называется диалоговое окно? –

+0

Как судить о диалоге уже существует –

+0

У нас есть метод alert.isShowing(); –

ответ

0

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

+0

Другие действия также будут отображать диалог. если запомните диалог. он будет только ящиком один раз в приложении. Думаю, правильно? –

+0

вы можете прикрепить тег, откуда отображается диалог, и вы можете сбросить предпочтение, когда диалог будет отклонен таким образом каждый раз, когда будет отображаться диалог –

0

Пробуйте использовать код ниже.

private Dialog dialog = null; 

    private void showDialog() 
    { 
      if(dialog!=null && dialog.isShowing()) 
       return; 
      /** Here create dialog */ 
    } 
+0

thx. я попробую –

+0

Я попытался, но он не работает. –