13

ユーザーからの入力を取得するカスタム ダイアログの作成に取り組んでいます。AlertDialogを使用すると、 などのウィジェットを using メソッドに追加できることEditTextAlertDialog気付きsetView()ました。カスタマイズを検討していて、メソッドがあるAlertDialogことに気付きました。Iのサブクラスでは、 または のいずれかを使用できます。DialogsetContentView()AlertDialogsetContentView()setView()

私が気づいた違いの 1 つは、で使用するsetView()と、AlertDialog正と負のボタンが表示されることです。のサブクラスではAlertDialog、使用しsetContentView()て、正と負のボタンを取得できません。

他の違いを説明できる人はいますか?

ありがとう。

4

3 に答える 3

31

私がそれを正しく理解していればsetContentView、ダイアログウィンドウ全体をカスタムレイアウトで膨らませます。タイトル、アイコン、ボタン…何も残らない。setView一方、ボタンとタイトルの間のビューのレイアウトを設定します。

画像を見る

于 2011-11-08T12:35:30.350 に答える
2

setContentView は AlertDialog の親クラス メソッドで、すべてのダイアログ ウィンドウを意味し、setView は AlertController メソッドです。

于 2017-08-21T08:01:53.190 に答える
0

ところで、ビューの周りの余分な「間隔」も削除するように見える AlertDialogs setView メソッドを呼び出すこともできます。

void setView(View view, int viewSpacingLeft, int viewSpacingTop, int viewSpacingRight, int viewSpacingBottom)

このような。

alertDialog.setView(myView,0,0,0,0);

于 2014-01-28T08:11:06.920 に答える