0

onCreateView メソッドがフラグメント側でオーバーライドされたにもかかわらず、別のアクティビティ内で呼び出されたときに fragment.getView() が常に null を返すというこの問題があります。

例:私の活動では:

frag = new NewBooksFrag();

私のフラグメントでは:

    @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    View view = null;

    view = inflater.inflate(R.layout.new_book_frag, container,true);

    return view;
}

しかし、私が電話するとき

frag.getView()

それでもnullを返します。なぜこれが起こっているのですか?Android のドキュメントでは、getView() が明確に記載されているためです。

「提供されている場合、フラグメントのレイアウトのルート ビュー (onCreateView(LayoutInflater, ViewGroup, Bundle) によって返されるビュー) を取得します。」

これが null を返す場合、どのようにフラグメントのビューを参照できますか?

前もって感謝します

4

2 に答える 2

0

コードの一部を投稿するのを見逃していない場合

frag = new NewBooksFrag();

onCreateView()フラグメントをアクティビティにアタッチする必要があります。そのために使用FragmentManagerします。

于 2014-06-14T07:18:34.440 に答える