AndroidのonCreate
メソッドは、通常はコンストラクタで行うすべての処理を実行しているようです。AndroidビューのonCreateメソッドがコンストラクタだけではないのはなぜですか?
私はプログラムでレイアウトにいくつかのビューを追加し、onCreate
メソッドを持ついくつかのコードがありますが、私は一貫性のためにそれを行います。
for (Contact contact : manager.getContacts()) {
GuiContact guiContact = new GuiContact(contact, this);
guiContact.onCreate();
// add them to the UI
guiContact.setLayoutParams(new ViewGroup.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT
));
contactListLayout.addView(guiContact);
}
なぜこの機能はコンストラクタではなくonCreate
にありますか?
(機能はコンストラクタにあった場合、final
メンバーに関連する利点があるでしょう。)
コンストラクタのポイントでは、コンテキストもレイアウトも使用できません。関連するノートでは、 'onStart'の内部で変数の初期化を行うこともできます。言い換えれば、 'onCreate'はそれが道であるという目的を持っています。 –