2017-08-13 96 views
0

我正在構建一個android應用程序,用於檢查設備上的活動Internet連接 如果沒有活動的Internet連接,將彈出一個警報對話框,要求重試並退出。如何在點擊正面按鈕時重複顯示警告對話框?

我想如果用戶點擊重試按鈕,應用程序將再次檢查有效的互聯網連接等。

我在循環這段代碼時遇到了問題。 這是我的代碼

if(cm.getActiveNetworkInfo()==null){ 
      AlertDialog.Builder alertBuilder = new AlertDialog.Builder(SplashActivity.this); 

      alertBuilder.setMessage("No internet connection").setCancelable(false); 

      alertBuilder.setPositiveButton("Retry", new DialogInterface.OnClickListener() { 
       @Override 
       public void onClick(DialogInterface dialog, int which) { 
        dialog.cancel(); 
        // Want to run this code again 
       } 
      }) 
        .setNegativeButton("Quit", new DialogInterface.OnClickListener() { 
         @Override 
         public void onClick(DialogInterface dialog, int which) { 
          dialog.cancel(); 
          // negetive button action goes here 
         } 
        }); 

      AlertDialog alertDialog = alertBuilder.create(); 
      alertDialog.setTitle("Rates and Reviews"); 
      alertDialog.show(); 

     } 
+1

爲什麼不把所有的東西都包裝進方法中,並在按下正按鈕時再次調用這種方法? –

回答

0

是什麼?

private void checkInternet(){ 

    if(cm.getActiveNetworkInfo()==null){ 
     AlertDialog.Builder alertBuilder = new AlertDialog.Builder(SplashActivity.this); 

     alertBuilder.setMessage("No internet connection").setCancelable(false); 

     alertBuilder.setPositiveButton("Retry", new DialogInterface.OnClickListener() { 
      @Override 
      public void onClick(DialogInterface dialog, int which) { 
       dialog.cancel(); 
       // Want to run this code again 
       checkInternet(); 
      } 
     }) 
       .setNegativeButton("Quit", new DialogInterface.OnClickListener() { 
        @Override 
        public void onClick(DialogInterface dialog, int which) { 
         dialog.cancel(); 
         // negetive button action goes here 
        } 
       }); 

     AlertDialog alertDialog = alertBuilder.create(); 
     alertDialog.setTitle("Rates and Reviews"); 
     alertDialog.show(); 

    } 
} 
+1

感謝您的幫助,它爲我工作。 –

相關問題