大きな静的初期化子はコードの匂いですか?
SimpleExpandableListAdapterAndroidで拡張しています。Androidのアダプターは、コンストラクターにかなり複雑な引数が多数あり、セッターやビルダーがないため、あまりうまく実装されていないと思います。私のクラスでは、これらの引数のほとんどは呼び出し元のクラスに依存していないため、内部的に構築したいと思います。ただし、引数はネストされたListsであり、プログラムで構築する必要がある整数と文字列の配列です。 superコンストラクタの前に何もsuper呼び出すことができず、呼び出しが戻る前にインスタンスメソッドを呼び出すことができないため、現在、呼び出しから呼び出す静的メソッドがいくつかありsuperます。 super(getContext(), initGroupData(), groupLayout, initGroupFrom(), initGroupTo(), initChildData(), childLayout, initChildFrom(), initChildTo()); これを処理する方法は3つあります。今と同じように静的メソッドを呼び出す、おそらくこれらの同じメソッドを呼び出して静的変数を初期化して静的変数を初期化する大きな静的イニシャライザを使用するsuperか、これらのメソッドをすべてビルダーにカプセル化します。 今はビルダーに傾いていると思いますが、これを処理するためのより良い方法があるかどうか疑問に思っています。