1. ホーム
  2. アンドロイド

[解決済み】コンテキストを指定してレイアウトインフレータを取得するには?

2022-04-01 19:05:32

質問

ListAdapterのカスタム実装を書いています。

そのコンストラクタで、Context、リソースID(つまり、レイアウトファイルを表すR.id.xxx)、リストとマップ(これらはデータを含む)を受け取っています。

さて、問題は、別のレイアウト XML ファイルにある View オブジェクトを取得するために、LayoutInflater が必要になることです。

ContextだけでLayoutInflaterを手に入れるにはどうしたらいいでしょうか?

さて、なぜこれが可能だと思うかというと、これはArrayAdapterのコンストラクタに渡されるもの(context, resource, textViewResourceId, data array)と非常に似ており、ArrayAdapterもContextのみを与えられてLayoutInflaterを使用しなければならないと思うからです。

しかし、どうすればいいのでしょうか?

どのように解決するのか?

を使用することができます。 static from() メソッドから LayoutInflater クラス :

 LayoutInflater li = LayoutInflater.from(context);