31

Android での LayoutInflater の使い方がわかりません。

LayoutInflater の役割とは何ですか?また、単純な Android アプリでそれを使用するにはどうすればよいでしょうか?

4

5 に答える 5

13

実行するsetContentView(layout file name)と、実行できますfindViewById(id of the widget)。のようなことをする必要はありませんxyz.findViewById。アプリのコンテキストはそのレイアウト ファイルに設定され、すべてのfindBiewById呼び出しはそのレイアウト ファイルを参照します。

CustomDialog、ListElement、カスタム Toast など、もう 1 つのレイアウト ファイルを選択する必要がある場合があります。現時点では、これらの小さな UI コンポーネントのためだけにアクティビティを作成する必要はありません。そのときは、findViewById を実行できるように、プログラムでレイアウト ファイルへの参照をプログラムで取得する必要があります。

膨らませて、風船のようにレイアウトを吹き飛ばし、風船に描かれたすべての色とオブジェクトを見渡すことができます:)。Inflate は、そのレイアウトへのオブジェクト参照を提供し、findViewById を呼び出します。

これがクリアされることを願っています。

于 2013-06-14T05:55:41.653 に答える
5

LayoutInflater の基本 -

  • LayoutInflater は、定義済みの XML レイアウトを使用して Android 画面を操作するために使用されます。
  • このクラスは、レイアウト XML ファイルを対応する View オブジェクトにインスタンス化するために使用されます。

  • 直接使用されることはありません。その代わり、

  • getLayoutInflater()またはを使用getSystemService(String)して、現在のコンテキストに既に接続されている標準の LayoutInflater インスタンスを取得します。
于 2013-06-14T06:08:18.763 に答える
2

Android ドキュメントから:

レイアウト XML ファイルを対応する View オブジェクトにインスタンス化します。直接使用されることはありません。代わりに、 getLayoutInflater() または getSystemService(String) を使用して、現在のコンテキストにすでに接続され、実行しているデバイス用に正しく構成されている標準の LayoutInflater インスタンスを取得します。例えば:

LayoutInflater inflater = (LayoutInflater)context.getSystemService
      (Context.LAYOUT_INFLATER_SERVICE);

カスタム ビューの作成に役立ちます

見る

于 2013-06-14T05:57:35.473 に答える
0

閉じられる可能性が最も高いですが、レイアウト インフレータの役割はview、提供されたレイアウト ファイルからを作成することです。

View row=getLayoutInflater.inflate(R.layout.list_item,parent,false);

ファイルからビューを作成し、それR.layout.list_itemを証明していviewます。

于 2013-06-14T05:54:26.633 に答える