1. 程式人生 > >ListView item被多次重繪的原因是啥

ListView item被多次重繪的原因是啥

ListView item被多次重繪的原因,經驗證,與ListView自身的layout寬高有關:

        android:layout_width="match_parent"
        android:layout_height="match_parent"

如果可以,請將其寬高都設定為match_parent。,則會極大地減少item的重繪次數,理想情況下是1次。

試驗中,listView有一個header、一個footer、5個item,listView的佈局為:

        android:layout_width="match_parent"
        android:layout_height="wrap_content"

結果Log顯示:

1.進入頁面繪製listview時同一個item被繪製了5次。

2.當點選改變其中的一個item的顯示狀態後通過“notifyDataSetChanged();”更新時同一個item被繪製了3次。

當把ListView的layout_height由wrap_content改為match_parent時,首次繪製listview,每個item只繪製了一次;點選其中一個item改變其狀態後通過“notifyDataSetChanged();”更新時,每個item也只被繪製了一次。