android-繼承BaseAdapter--自己定義適配器,getView運行多次的解決方法
阿新 • • 發佈:2017-06-03
能夠 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運行多次的解決方法