我有一个 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。它实际上什么也没做。