2015-05-18 2 views
0

В методе OnResume моего fragmentActivity я стараюсь:DialogFragment не является модальной

  1. Проверьте, если подключение к Интернету имеется, если не отображать FragmentDialog

  2. если вар StoreID идентификатор установлен в 0, называют новый вид деятельности которого просят ид

  3. дисплей активность

Вот мой код:

@Override 
protected void onResume() { 
    super.onResume(); 
    ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE); 
   if (connectivityManager.getActiveNetworkInfo() ==null){ 
      noConDialog.show(getFragmentManager(), NET_ALERT_DIALOG); 
     Log.e("jedois","pas m'afficher"); 
  } 
   if (storeId == 0) { //si on a plus la boutique id 
    //call logon activity 
        Intent logonActivity = new Intent(ShoppingActivity.this, LogonStoreActivity.class); 
        startActivityForResult(logonActivity, LOGON_STORE_REQUEST); 
  } 
} 

Проблема, после выполнения строки «noConDialog.show (getFra ...» диалоговое окно появится, но на резюме выполнить другую строку, то мой второй старт деятельности и скрыть мой диалог.

Диалог модальный, приложение должно ждать окончания диалога, прежде чем выполнять другие строки. Правильно?

Спасибо за вашу помощь

ответ

0

Код не заканчивается, если вы не используете команду return. есть два способа справиться с этим:

Способ 1 Возврат после показа диагопа.

@Override 
protected void onResume() { 
    super.onResume(); 
    ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE); 
    if (connectivityManager.getActiveNetworkInfo() ==null){ 
     noConDialog.show(getFragmentManager(), NET_ALERT_DIALOG); 
     Log.e("jedois","pas m'afficher"); 
    return; 
    } 
    if (storeId == 0) { //si on a plus la boutique id 
    //call logon activity 
     Intent logonActivity = new Intent(ShoppingActivity.this, LogonStoreActivity.class); 
     startActivityForResult(logonActivity, LOGON_STORE_REQUEST); 
    } 
} 

Метод 2 Переместить остальная часть кода в остальное части, так что только один блок может выполнить за один раз.

@Override 
    protected void onResume() { 
     super.onResume(); 
     ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE); 
     if (connectivityManager.getActiveNetworkInfo() ==null){ 
      noConDialog.show(getFragmentManager(), NET_ALERT_DIALOG); 
      Log.e("jedois","pas m'afficher"); 
     } 
    else{ 
     if (storeId == 0) { //si on a plus la boutique id 
     //call logon activity 
      Intent logonActivity = new Intent(ShoppingActivity.this, LogonStoreActivity.class); 
      startActivityForResult(logonActivity, LOGON_STORE_REQUEST); 
     } 
    } 
} 
Смежные вопросы