2010-01-17 8 views
8

ViewHolder Muster verbessert Framerate Listview Scrollen, wie in folgendem Beispiel zu sehen: https://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/view/List14.htmlAndroid: ViewHolder-Muster und verschiedene Arten von Reihen?

Ist es möglich, dieses Muster zu halten, während andere Art von Ansichten für verschiedene Zeilen mit?

Mit anderen Worten ist es möglich, so etwas wie zu tun:

public View getView(int position, View view, ViewGroup parent) { 
    // calculate viewID here 
    if (view == null || *view is not null but was created from different XML than viewID*) { 
     view = mInflater.inflate(viewId, null); 

Antwort

17

Ja, obwohl es weit besser getViewTypeCount() und getItemViewType() in Ihrem Adapter außer Kraft zu setzen. Das wird Androids Objektpool lehren, Ihnen nur eine Zeile des richtigen Typs zurück zu geben, in getView().

+1

Gibt es einen ähnlichen Trick für ExpandableListAdapter? – tomash

+0

unterdessen fügte ich benötigte Informationen als ein Flag zu ViewHolder hinzu, es funktioniert – tomash

Verwandte Themen