1

我有一个 GridView,其中所有项目都具有 imageView。选择一个时,我看到所有项目都刷新了,因为每个项目都有 getView 调用。为什么会发生这种情况?我看到 GridView 每次都会刷新。下面是调用堆栈。

getView
obtainView:AsbsListView
makeAndAddView: GridView
makeRow:GridView
fillDown:GridView
fillSpecific:GridView
layoutChildren:GirdView
onLayout: AbsListView
layout:View
layout:ViewGroup
onLayout:RelativeLayout
....

    <GridView
    android:id="@+id/my_gridview"
    android:layout_gravity="center_horizontal"
    android:fadingEdge="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:visibility="visible"
    android:numColumns="5"
    android:verticalSpacing="1dp"
    android:horizontalSpacing="1dp"
    android:background="@android:color/black"
    android:listSelector="@color/TEST_RED"
    android:fadeScrollbars="false"
    android:focusable="false"
    android:splitMotionEvents="false"
    android:choiceMode="singleChoice"
    android:layout_below="@+id/loading"
    android:scrollbarStyle="insideOverlay"/>

onItemClick 不会做 invalidateViews。它实际上什么也没做。

4

0 回答 0