Wenn Sie CursorTreeAdapter erweitern, um Ihren ExpandableListAdapter zu erstellen, sollten Sie die verschiedenen Sichtenarten in newChildView() verwalten und sie in bindChildView() binden. Sie können die Daten im Cursor verwenden, um zwischen den verschiedenen Fällen zu unterscheiden.
Beispielcode
@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);
}
}
Dank monkjack :) Ich werde das ausprobieren und lassen u wissen. – Neha
Hey moonjack, ich habe versucht, so wie du es gesagt hast, aber jedes Kind zeigt mir sowohl die Textansicht als auch die Bilder, während ich in der Bedingung lege, dass ich Text nur in den ersten und zweiten Abschnitten und Bild in den restlichen zwei anzeigen möchte. Kannst du mir helfen? Plz sag mir das, wo ich falsch liege. Ich kann meinen kompletten Quellcode wegen des weniger Platzes nicht posten, also posten ich eine andere Frage, wo ich Quellcode posten werde. Willst du es anschauen und versuchen zu sagen, was schief läuft? – Neha
hast du Problem lösen .. Es scheint, es ist nur "nicht perfekt" wenn-sonst Logik .. bitte schreiben Sie über Ihre Lösung oder akzeptieren gegebene Antwort .. 10q – Ewoks