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

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

編輯:關於Android編程

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

點擊某個按鈕之後顯示一個對話框,對話框上面有一個輸入框,並且有“確認”和“取消”兩個按鈕。當用戶點擊確認按鈕時,需要對輸入框的內容進行判斷。如果內容為空則不關閉對話框,並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();
            }
        });

問題完美解決。


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