2011-11-23 93 views
1

我正在構建一個帶有登錄活動的Android應用程序。如果電子郵件無效,我想顯示帶有「電子郵件無效」消息的警報箱,並希望保持同一活動狀態。問題在於警報箱僅顯示一段時間,然後立即返回到父級活動,無需按下警報箱中的任何按鈕。我的代碼是:警報對話框關閉,無需按下按鈕,活動進入主頁

if (v.getId() == R.id.loginButton) { 

     if(checkEmail(emailtheGame.toString())==true) 
     { 
      startActivity(new Intent(this, BackgroundImages.class)); 
     } 
     else 
     { 
      email=emailtheGame.toString(); 
      showDialog(0);    
    } 

     finish(); 
boolean checkEmail(String inputMail) { 
     Pattern pattern= Pattern.compile("^([a-zA-Z0-9_.-])[email protected]([a-zA-Z0-9_.-])+\\.([a-zA-Z])+([a-zA-Z])+"); 
     return pattern.matcher(inputMail).matches(); 
    } 

@Override 
    protected Dialog onCreateDialog(int id) { 
     switch (id) { 
     case 0: 
      return new AlertDialog.Builder(this) 
        .setTitle("Showing Response.........") 
        .setMessage("sdfdsfdfsdf") 
        .setPositiveButton("OK", 
          new DialogInterface.OnClickListener() { 
           public void onClick(DialogInterface dialog, 
             int whichButton) { 
            Toast.makeText(getBaseContext(), 
              "OK clicked!", Toast.LENGTH_SHORT) 
              .show(); 
           } 
          }) 

        .create(); 
    } 
     return null; 
    } 

任何幫助高度讚賞...... !!!

回答

4

刪除完成()和替換此代碼段

@Override 
protected Dialog onCreateDialog(int id) { 
    switch (id) { 
    case 0: 
     return new AlertDialog.Builder(this) 
       .setTitle("Showing Response.........") 
       .setMessage("sdfdsfdfsdf") 
       .setPositiveButton("OK", 
         new DialogInterface.OnClickListener() { 
          public void onClick(DialogInterface dialog, 
            int whichButton) { 
           Toast.makeText(getBaseContext(), 
             "OK clicked!", Toast.LENGTH_SHORT) 
             .show(); 
           // use Finish here 
            finish(); 
           // 

          } 
         }) 

       .create(); 
} 

這將工作...

+0

非常感謝!它爲我工作.... –

+0

綠色Up ..我的Anser然後...:D –

+0

我這樣做....... :) –

1

當您檢查用戶輸入的電子郵件後,您可以致電finish()關閉當前活動的操作。如果你想留在同一個活動,只是不要致電finish();

4
finish(); 

這裏是罪魁禍首。刪除這一行。

相關問題