2017-08-31 27 views
1

是否有理由選擇其中的一種?何時使用AlertDialog.Builder.setTitle()vs Dialog.setTitle()?

可以呼籲Builder()這樣的設置方法:

// #1 
AlertDialog.Builder builder = new AlertDialog.Builder(this); 
builder.setTitle("The Title"); 
AlertDialog dialog = builder.create(); 
dialog.show(); 

,或者你可以呼籲Dialog()本身設置的方法,如:

// #2 
AlertDialog.Builder builder = new AlertDialog.Builder(this); 
AlertDialog dialog = buider.create(); 
dialog.setTitle("The Title"); 
dialog.show(); 

有除了setTitle()其他方法問題 - 我選擇了這個例子。

我想如果我要創建一堆完全相同的對話框,那麼#1將是要走的路,但對於大多數情況下創建單個對話框的情況,這看起來像是一個折騰 - 向上。

回答

0

在這多年在Android上工作,我從來沒有想到這一點......但我只是分享我的經驗......有可能是其他人誰給更好的答案,而不是我......

AlertDialog.Builder確實的屬性如的setTitle()setMessage的設置(),並且不向用戶顯示。

AlertDialog是顯示已在AlertDialog.Builder被設定這些屬性的一個。

這兩個提到的地方的目的是,它允許設置與實際顯示,從而使事情方便分開。

所以結論是,工廠方法更方便。

+0

謝謝洛克斯。儘管如此,我並沒有看到很好的區別。我也可以使用'AlertDialog.setTitle()'和'AlertDialog.setMessage()'而不顯示給用戶,然後用'AlertDialog.show()'保存實際的顯示, – Mike

相關問題