解決直播商城原始碼中,getView被重複呼叫

雲豹科技阿星發表於2021-09-25

直播商城原始碼的getView被呼叫次數,取決於當前螢幕能顯示的item的數量,顯示一個item就呼叫一次。當listview的layout_height屬性是wrap_content時,有可能造成listview無法計算高度,相應的需要顯示的item數量就無法計算,造成直播商城原始碼的getView多次被呼叫。

解決方案:

1:在listview外面套一層RelativeLayout,將listview高度設定為fill_parent。

<RelativeLayout xmlns:android="
    android:id="@+id/RelativeLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" 
    android:background="@drawable/repeat_bg">
 <ListView
            android:id="@+id/friend_list"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:cacheColorHint="#00000000"
            android:divider="#CCCCCC"
            android:fastScrollEnabled="true"
            android:focusableInTouchMode="true" />
</RelativeLayout>

2:在listview外面套一層 LinearLayout,將listview高度設定為0dip。

<LinearLayout xmlns:android="
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#f3f3f3"
    android:orientation="vertical" >
     <ListView
        android:id="@+id/requestObjLV"
        android:layout_width="fill_parent"
        android:layout_height="0dip"
        android:layout_weight="1"
        android:cacheColorHint="#00000000"
        android:divider="#CCCCCC" />
</LinearLayout>

透過以上兩個方案,我們可以就可以解決直播商城原始碼的getView重複呼叫問題。

宣告:本文由雲豹科技轉發自一葉飄舟部落格,如有侵權請聯絡作者刪除


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69982461/viewspace-2793686/,如需轉載,請註明出處,否則將追究法律責任。

相關文章