2013-04-09 10 views
7

LayoutInflater抽象クラスのinflateメソッドは、ViewGroupというルートをとるinflateメソッドの2番目のパラメータを持っています。ドキュメンテーションからは、「生成された階層の親であるためのオプションビュー」として言及されています。LayoutInflaterクラスのinflateメソッドで第2パラメータを使用する方法

誰かがこのパラメータの使用方法の例を挙げることはできますか?そしてあなたはそこに何を入れますか? ViewGroupは、LinearLayoutのような任意のタイプのレイアウトにすることができます。

このパラメータをどうすればよいのかよく分かりません。膨張しているビューがここに入力されたレイアウトの一部でない場合は、エラーが発生します。それの目的を理解していない。ドキュメントから

より:パフォーマンス上の理由から重要

public View inflate (XmlPullParser parser, ViewGroup root)

Added in API level 1 Inflate a new view hierarchy from the specified xml node. Throws InflateException if there is an error.

、ビューのインフレ率は、ビルド時に行われているXMLファイルの前処理に大きく依存しています。したがって、現時点ではLayoutInflaterXmlPullParserをプレーンXMLファイルに使用することはできません。

パラメータ パーサービュー階層の説明を含むXML DOMノード。

root生成された階層の親になるオプションのビュー。 戻り値 膨張した階層のルートビュー。 rootが指定された場合、これはルートビューです。それ以外の場合は、拡張されたXMLファイルのルートです。

+0

オプションパラメータであるため、 'null'を渡すことができます。 – midhunhk

答えて

2

正直言って、あなたが混乱する部分は本当にわかりません。任意のViewGroupを渡して、動的に作成しているビューの親にすることができます。例えば

private static View mView = inflater.inflate(R.layout.fragment_featured, container, false); 

これは(親として)容器内fragment_featured XMLファイルに含まれているレイアウトを膨張させるであろう。コンテナViewGroupのタイプはあなた次第です。

2

のinflateメソッドを使用すると、ルートのViewGroupに合格しない場合は

  • 膨張したXMLの親ビューを返し、膨張したXMLルートビュー は、ルートを渡す場合

  • を返されますViewGroup、ルートのルートViewGroupはとなります

関連する問題