0

これは正しいでしょうか:

public class DetailsFragment extends Fragment {

    private final Intent intent = getActivity().getIntent();
    // use intent here and there
}

サーブレットでは、コンテキストが利用可能になるまで init() を待たなければならないことを私は知っています。アンドロイドの状況は?でこのようなことをする必要がありOnCreateますか? 追加の質問として - この種の final フィールドの使用は嫌われていますか? それはライフサイクルを台無しにしますか?

リンク歓迎:)

4

1 に答える 1

1

これは正しいでしょうか:

いいえ、初期化ステップ中にgetActivity()返されます。null

アンドロイドの状況は?

getActivity()Activityin onCreateView()onActivityCreated()、およびそれ以降のライフサイクル メソッドを確実に返します。Activityinを返す可能性がありますが、フラグメントにonCreate()実装したことを覚えていないonCreate()ため、確実なことは言えません。

追加の質問として - この種の final フィールドの使用は嫌われていますか?

まあ、これはうまくいかないので (上記参照)、コードのクラッシュは一般的に嫌われます... :-)

于 2013-03-09T20:58:18.810 に答える