9

クラス コンストラクターでのこの .notation (AlertDialog.Builder) の意味は何ですか?

public Dialog onCreateDialog(Bundle savedInstanceState) {

    return new AlertDialog.Builder(getActivity())
        .setTitle(R.string.date_picker_title)
        .setPositiveButton(android.R.string.ok, null)
        .create();

}

Builder クラスが AlertDialog クラス内で定義されているということですか? または Builder はメソッドですが、最初の文字が大文字なので混乱します。

4

5 に答える 5

13

このパターンはメソッドチェーンと呼ばれます。

Builder は、AlertDialog の静的内部クラスです。

Builder の各メソッドは、void ではなく Builder (通常は「this」) を返します。

于 2013-09-26T14:36:27.077 に答える
2

これは、Builder が AlertDialog クラスの静的なネストされたクラスであることを意味します。

class AlertDialog {

   static class Builder {
..
于 2013-09-26T14:36:29.040 に答える
0

Builder のデザインパターンです。

コードで行うこと:

  • Builder クラスのインスタンスを作成します -new AlertDialog.Builder(getActivity())
  • プロパティの呼び出しsetTitleを設定し、setPositiveButton
  • Builder のプロパティを使用してメソッドをAlertDialog呼び出すことにより、のインスタンスを作成します。create()

ビルダー パターンは、オブジェクトの作成に関連する問題を解決することを意味する創造的なデザイン パターンです。Java のコンストラクターはオブジェクトの作成に使用され、オブジェクトの作成に必要なパラメーターを受け取ることができます。問題は、多くのパラメーターを使用してオブジェクトを作成できる場合に始まります。それらの一部は必須であり、その他はオプションである可能性があります。ビルダー デザイン パターンは、コンストラクターで必要なパラメーターの数が通常 4 つまたは最大で 5 つを超える場合に使用する必要があります。

于 2013-09-26T14:40:57.340 に答える
0

Builderクラスの静的内部クラスAlertDialogです。

ネストされたクラスの使用と有用性についてこれを読むことをお勧めします

于 2013-09-26T14:36:20.240 に答える
0

ドキュメントをチェックしてください

Builderクラス内で定義された静的クラスAlertDialogです。あなたはそれをコンストラクターと呼んでいます。

于 2013-09-26T14:36:28.287 に答える