天天看點

Android AlertDialog.Builder詳解

對話框在程式中不是必備的,但是用好對話框能對我們編寫的應用增色不少。采用對話框可以大大增加應用的友好性。比較常用的背景是:使用者登陸、網絡正在下載下傳、下載下傳成功或者失敗的提示,還有,

比如:短信來了、電池沒電了等等,隻要你想到的,能提高使用者體驗的,你都可以使用對話框。

Dialog類,是一切對話框的基類,需要注意的是,Dialog類雖然可以在界面上顯示,但是并非繼承于View類,而是直接從java.lang.Object開始構造出的。

類似于Activity,Dialog也是有生命周期的,它的生命周期由Activity來維護。Activity負責生成、儲存、恢複它。在生命周期的每一個階段都有一些回調函數供系統反向調用。

AlertDialog是Dialog的一個直接子類,一個AlertDialog可以有兩個Button或者3個Button,可以對一個AlertDialog設定title、message。

不能直接通過AlertDialog的構造函數來生成一個AlertDialog,一般生成的時候都是通過它的的一個内部靜态類AlertDialog.Builder來構造的。

new AlertDialog.Builder(this)

.setTitle() //設定标題

.setMessage() //設定提示消息

.setIcon() //設定圖示

.setView() //設定文本框

.setSingleChoiceItems() //設定單選框

.setMultiChoiceItems() //設定多選框

.setItems() //設定清單框

.setPositiveButton(,NULL) //設定确定按鈕

.setNeutralButton(,NULL) //設定取消按鈕

.setOnCancelListener()

.show(); //顯示消息框

上面的代碼中我們建立了一個AlertDialog,并用Builder方法形成了一個對象鍊,通過一系列的設定方法,構造出我們需要的對話框,然後調用show方法顯示出來,

注意到Builder方法的參數this,這個其實是Activity對象的引用,根據你所處的上下文來傳入相應的引用就可以了。

參考文檔

http://www.cnblogs.com/Gaojiecai/archive/2011/12/10/2283156.html

http://blog.csdn.net/woaieillen/article/details/7378324

時間

起草于2015-10-14