嗨
在我的android應用程序中,我想從AlertDialog中的EditText小部件獲取用戶輸入。如果用戶沒有輸入法律文本並點擊確認按鈕,AlertDialog不應該關閉,應該做出一些迴應,我應該怎麼做?
這裏是我當前的代碼:Android:AlertDialog中的按鈕
的感謝!
嗨
在我的android應用程序中,我想從AlertDialog中的EditText小部件獲取用戶輸入。如果用戶沒有輸入法律文本並點擊確認按鈕,AlertDialog不應該關閉,應該做出一些迴應,我應該怎麼做?
這裏是我當前的代碼:Android:AlertDialog中的按鈕
的感謝!
要做到這一點,把你的按鈕在你的線性佈局或在佈局和不使用由AlertDialog提供的默認按鈕。
XML文件中的設置按鈕後,您將使用按鈕的對象:
Button b1 = editNickView.findViewById(<ID of button1>);
,然後創建此按鈕的監聽器。現在,在監聽器,如果發現用戶輸入然後輸入正確撥打:
editNick.dismiss();
關閉對話框,否則,對話框將是用戶可見。
AlertDialog總是在它的一個按鈕被點擊時關閉。如果你不希望發生這種情況,不要調用setButton,只需將你的按鈕放在你的自定義佈局xml中。檢查前提條件,並在需要時致電editNick.dismiss()
關閉對話框。
一些片段可能會幫助:
View editNickView = li.inflate(R.layout.dialog_edit_nick, null);
....
final AlertDialog editNick = editNickBuilder.create();
Button button = (Button) editNickView.findViewById(R.id.your_button_id);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
....
if(shouldClose) {
editNick.dismiss();
}
else {
//Make a toast or something here.
}
}
});