2015-05-06 35 views
0

我正在嘗試一個簡單的應用程序,用戶輸入他的號碼。我會顯示一個提醒對話框來確認他的手機號碼。如果用戶選擇「是」,我將他重定向到下一個活動。但問題是,如果用戶選擇「否」,我想顯示相同的活動編輯號碼。警報對話框負向按鈕到相同的活動

現在我通過調用相同活動的Intent來完成此操作。但這是一個不好的做法。如何在活動中顯示與最後輸入的號碼相同的活動?

以下是我的嘗試。 按下按鈕

phoneNum = (EditText) findViewById(R.id.editTextPhoneNumber); 
String phNum = phoneNum.getText().toString(); 
AlertDialog.Builder alertDialog = new AlertDialog.Builder(
     MainActivity.this); 
alertDialog.setTitle("CONFIRM"); 
alertDialog.setMessage("Is this your correct number? \n" + phNum 
     + " a SMS will be sent to verify your phone number."); 
alertDialog.setPositiveButton("YES", 
     new DialogInterface.OnClickListener() { 
      @Override 
      public void onClick(DialogInterface dialogInterface, int i) { 
       sendOtp(); 
       Intent myIntent = new Intent(getApplicationContext(), 
         Activity2Activity.class); 
       startActivity(myIntent); 
      } 
     }); 
alertDialog.setNegativeButton("NO", 
     new DialogInterface.OnClickListener() { 
      @Override 
      public void onClick(DialogInterface dialogInterface, int i) { 
       // dialogInterface.cancel(); 
       Intent sameIntent = new Intent(MainActivity.this, 
         MainActivity.class); 
       startActivity(sameIntent); 
       finish(); 
      } 
     }); 
alertDialog.show(); 
+0

alertDialog.dismiss(); – SmulianJulian

回答

1

當你只需要顯示相同的活動,只需關閉對話框,同時單擊負號按鈕。

alertDialog.setNegativeButton("NO", new DialogInterface.OnClickListener() { 
    @Override 
    public void onClick(DialogInterface dialogInterface, int i) { 
     alertDialog.dismiss(); 
    } 
} 
1

使用此:

getDialog().dismiss(); 
3

您可以參閱參考文獻: Official Doc : Dialog Dismiss

注意這句話: 當用戶接觸任何與AlertDialog.Builder創建的操作按鈕,系統關閉對話框爲您服務。
無論用戶點擊Builder生成的按鈕,系統都會關閉對話框。

alertDialog.setNegativeButton("NO", new DialogInterface.OnClickListener() { 
    @Override 
    public void onClick(DialogInterface dialogInterface, int i) { 
     //Just leave it empty here. 
    } 
}); 
1

試着用這個。它會幫你

phoneNum = (EditText) findViewById(R.id.editText1); 
    String phNum = phoneNum.getText().toString(); 
    final AlertDialog.Builder alertDialog = new AlertDialog.Builder(
      MainActivity.this); 
    alertDialog.setTitle("CONFIRM"); 
    alertDialog.setMessage("Is this your correct number? \n" + phNum 
      + " a SMS will be sent to verify your phone number."); 
    alertDialog.setPositiveButton("YES", 
      new DialogInterface.OnClickListener() { 
       @Override 
       public void onClick(DialogInterface dialogInterface, int i)  { 
        sendOtp(); 
        Intent myIntent = new Intent(getApplicationContext(), 
        Activity2Activity.class); 
        startActivity(myIntent); 
       } 
      }); 
    alertDialog.setNegativeButton("NO", 
      new DialogInterface.OnClickListener() { 
       @Override 
       public void onClick(DialogInterface dialogInterface, int i) { 
        // dialogInterface.cancel(); 

       } 
      }); 
    alertDialog.show(); 
相關問題