1. 程式人生 > >android-繼承BaseAdapter--自己定義適配器,getView運行多次的解決方法

android-繼承BaseAdapter--自己定義適配器,getView運行多次的解決方法

能夠 popu con data ssa baseadapt tracking you idt

定義的getView運行多次的ListView布局:
 <ListView
        android:id="@+id/lv_messages"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/linearLayout1"
        android:cacheColorHint="#0000"
        android:divider="#0000"
        android:dividerHeight="2dp"
        android:listSelector="#0000" >
    </ListView>


運行多次原因是由於每顯示一個VIew,它都去測量view的高度。運行measure方法。導致getView運行多次。

正確的布局:

 <ListView
        android:id="@+id/lv_messages"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/linearLayout1"
        android:cacheColorHint="#0000"
        android:divider="#0000"
        android:dividerHeight="2dp"
        android:listSelector="#0000" >
    </ListView>

把width和height都設置成fill_parent,假設ListView有父布局,也把父布局的width和height設置成fill_parent,這樣就成功的攻克了自己定義適配器getView 運行多次的問題。

以下這3行能夠解決ListView滑動變黑的問題:

   android:cacheColorHint="#0000"
        android:divider="#0000"
        android:listSelector="#0000" 

希望能夠幫助到大家解決這個問題!


android-繼承BaseAdapter--自己定義適配器,getView運行多次的解決方法