ListAdapterのカスタム実装を書いています。
そのコンストラクターでは、コンテキスト、リソースID(つまり、レイアウトファイルを表すR.id.xxx)、およびリストとマップ(これらにはデータが含まれています)を使用します。
今、問題は、個別のレイアウトXMLファイルにあるViewオブジェクトを取得するためにLayoutInflaterが必要になることです。
コンテキストのみを指定してLayoutInflaterを取得するにはどうすればよいですか?
さて、これが可能だと思う理由は、これがArrayAdapterのコンストラクターに渡されているもの(コンテキスト、リソース、textViewResourceId、データ配列)に非常に似ているためであり、ArrayAdapterもコンテキストのみが指定されたLayoutInflater。
しかし、どのようにそれを行うことができますか?
static
LayoutInflater
クラスの_from()
メソッド を使用できます。
LayoutInflater li = LayoutInflater.from(context);
このコードを使用してLayoutInflaterを取得することもできます。
LayoutInflater li = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE)