Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android實現點擊AlertDialog上按鈕時不關閉對話框的方法

Android實現點擊AlertDialog上按鈕時不關閉對話框的方法

編輯:關於Android編程

本文實例講述了Android實現點擊AlertDialog上按鈕時不關閉對話框的方法。分享給大家供大家參考。具體如下:

開發過程中,有時候會有這樣的需求:

點擊某個按鈕之後顯示一個對話框,對話框上面有一個輸入框,並且有“確認”和“取消”兩個按鈕。當用戶點擊確認按鈕時,需要對輸入框的內容進行判斷。如果內容為空則不關閉對話框,並toast提示。

使用AlertDialog.Builder創建對話框時,可以使用builder.setNegativeButton和builder.setPositiveButton兩個方法設置取消按鈕和確認按鈕的點擊事件。然而問題在於,只要用戶點擊了確認按鈕或者取消按鈕,系統就會自動將對話框關閉。

解決此問題的方法是:

(1)使用builder.setPositiveButton設置確認按鈕的文字,但是不添加監聽。即:復制代碼 代碼如下:builder.setPositiveButton(R.string.main_ok, null);

(2)得到AlertDialog對象:
復制代碼 代碼如下:AlertDialog alertDialog = builder.create(); 
alertDialog.show();
(3)獲取到對話框上的確認按鈕,然後對該按鈕添加普通的View.OnClickListener。在用戶輸入正確的時候,手動調用alertDialog.dismiss()關閉對話框。
復制代碼 代碼如下:alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
 String cardNum = cardNumET.getText().toString().trim();
 if (cardNum.length() == 0) {
     Utility.showToast(mActivity, "請輸入編號");
     return;
 }

 //發送
 sendProfile(cardNum);
 alertDialog.dismiss();
    }
});

問題完美解決。

希望本文所述對大家的Android程序設計有所幫助。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved