我々は、関連するオペレーティング・システムおよびアプリケーションまたはシステムを得る際に、システムを介して1取得システムレイアウトマネージャは、このアプローチは、一般的に使用され
LayoutInflaterインフレータ=(LayoutInflater)Context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);如活性は、クラスの文脈で必要に応じてコンテキストならば省略してもよいです。
ビューMVIEW = inflater.inflate(コンテキスト、R.layout.XX、根);
2.活動中のViewGroupサブレイアウトを与えるために加え、以下のよう
ビューMVIEW = getLayoutInflate.inflate(R.layout.xx、根、偽);
そのようなカスタムダイアログやトーストなど、通常はカスタムコントロールで使用される静的なビューを取得することにより3.で使用することができます
ビューMVIEW = View.inflate(コンテキスト、R.layout.xx、偽);
4、LayoutInflateのインフレート()メソッドが実装されているを通して、ローディングBaseAdapterの典型的な実施形態のレイアウト
ビュービュー= LayoutInflater.from(コンテキスト).inflate(R.layout.xx、rootView、偽);
これらは、使用Layoutinflateの4種類です。単純にバーコードや次の4つの間の関係の性質の違いについて話すことにより、
まず:活動では、
公共Layoutinflater getLayoutInflater(){
リターンは、GetWindow()getLayoutInflater();}
一番下に活動するか、Windowクラス抽象メソッドを呼び出します。
公共LayouInflater getLayoutInflater(コンテキスト・コンテキスト){
LayoutInflate.from(コンテキストコンテキスト)を返します。
ウィンドウクラスですが}、どのようにそれを呼び出すには?以下の内容を考慮してください
ウィンドウには、静的な方法を介して取得することですLayoutInflater
公共の静的なビューのinflate(コンテキストmContext、LayoutResの解像度、のViewGroupルート){
LayoutInflater mLayoutInflater = LayoutInflater.from(mContext)。
リターンmLayoutInflater.inflate(RES、根);
}
それはLayoutInflaterも抽象クラスであることは注目に値する、それは最終的にコールシステムを取得する方法です
パブリック抽象LayoutInflaterは{オブジェクトを拡張します
(コンテキストmContext){からパブリック静的静的LayoutInflater
LayoutInflater mLayoutInflater =(LayoutInflater)mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE)。
IF(mLayoutInflater == NULL){
例外(例外e)をスローします。
}
mLayoutInflaterを返します。
}
}