我有一個提醒對話框,我有2個文本字段,然後是正面和負面的按鈕。在我調用Show之前無法在AlertDialog中找到按鈕。爲什麼?不應該在CREATE之後可用?
我試圖在最終文本字段上設置nextFocusDown,總是成爲正面的按鈕。
正面和負面的按鈕在第二個文本框的下方彼此疊放,如果用戶輸入的光標在左側按鈕上,則下一個焦點將移動到左側按鈕,如果它位於右側按鈕上,移到右邊的按鈕。
於是我就用我的警報生成器來創建我的警告對話框,然後試圖調用
myAlertDialog.getButton(DialogInterface.BUTTON_POSITIVE); ,然後將ExitText字段設置爲該按鈕的ID爲nextFocusDownId。
並且在向用戶顯示警報之前這樣做,所以我沒有任何競速條件的機會。
唉,ad.getButton每次都會返回NULL。當我將這些代碼行移動到ad.show()調用之後時,一切正常。
所以我想我的問題是,有人可以向我解釋這一點。我會想,一旦我設置了正確的按鈕,並創建了視圖應該存在但不可見的AlertDialog ...顯然情況並非如此,所以沒有什麼是DisplayWidget的創建,直到視圖實際顯示爲一般的經驗法則?當視圖膨脹時,我可以在顯示它們之前找到它們中的對象。那麼關於這個的一般經驗法則是什麼?
這是Android版,對不起。 – user756212 2011-06-14 17:05:27