CursorTreeAdapterを拡張してExpandableListAdapterを作成する場合は、newChildView()でさまざまなタイプのビューを作成し、bindChildView()でそれらをバインドするように管理する必要があります。カーソル内のデータを使用して、異なるケースを区別することができます。
例コード
@Override
protected View newChildView(
Context context,
Cursor cursor,
boolean isLastChild,
ViewGroup parent)
{
LayoutInflater mInflater = LayoutInflater.from(context);
String firstColumnName = cursor.getColumnName(0);
if(firstColumnName.equals("_id")) {
return mInflater.inflate(R.layout.main_list_item, parent, false);
} else if(firstColumnName.equals("name")){
return mInflater.inflate(R.layout.search_list_item, parent, false);
} else {
throw new IllegalArgumentException("Unknown firstColumnName:"
+ firstColumnName);
}
}
@Override
protected void bindChildView(
View view,
Context context,
Cursor cursor,
boolean isLastChild)
{
String firstColumnName = cursor.getColumnName(0);
if(firstColumnName.equals("_id")) {
bindMainView(view, context, cursor, isLastChild);
} else if(firstColumnName.equals("name")){
bindSearchView(view, context, cursor, isLastChild);
} else {
throw new IllegalArgumentException("Unknown firstColumnName:"
+ firstColumnName);
}
}
おかげで、私はこれを試してみるよ:) monkjackおよびuはお知らせいたします。 – Neha
こんにちはモンクジャック、私は言った道を試みたが、それぞれの子供は私にテキストビューとイメージの両方を表示しているのに対し、私は条件1でテキストを第1と第2セクションにのみ表示し残りの2つにイメージを表示したい。あなたは私を助けることができますか?私がどこに間違っているのかを教えてください。私はスペースが少ないので私の完全なソースコードを投稿することができないので、私はソースコードを投稿する別の質問を投稿しています。あなたはそれを見て何がうまくいかないのかを教えてくれるでしょうか? – Neha
は、問題を解決しました..それはちょうど "完璧ではない" if - elseロジック..のようです。 – Ewoks