Gibt es eine Möglichkeit zum Einfügen eines anderen View
über die List
in einer ListView
? Zum Beispiel möchte ich eine Titelleiste (TextView), die auf der List
sitzt, und scrollt aus der Sicht, während die Liste scrollt. Ich habe bisher zwei Möglichkeiten, dies zu tun, aber beide sind Hacks.ListView mit Titel
Idee # 1 - Verwenden Sie ein LinearLayout, das vorgibt, ein ListView zu sein. Das Problem besteht jedoch darin, dass Sie das "intelligente" Laden/Entladen von Ansichten eines Adapters nicht nutzen können.
<ScrollView>
<LinearLayout>
<TextView/>
<LinearLayout
android:orientation="vertical" /> # add ListItems here
</LinearLayout>
</ScrollView>
Idee # 2 - ein Hacky ArrayAdapter
, mit einem getView
ähnlichen Verfahren wie diese verwenden:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if(position == 0)
View view = inflater.inflate(R.layout.special_list_item, null);
else
View view = inflater.inflate(R.layout.regular_list_item, null);
...
return vi;
}
Stellen Sie sicher, 'setAdapter (null) zu nennen;' vor den Header zu setzen. Oder fügen Sie den Adapter erst nach dem Setzen der Kopfzeile hinzu. – sriramramani
Wow, ich hatte keine Ahnung, dass es existiert! – Matt