当前位置: 代码迷 >> Android >> android 承袭BaseAdapter,自定义的适配器,getView方法执行多组循环解决方式
  详细解决方案

android 承袭BaseAdapter,自定义的适配器,getView方法执行多组循环解决方式

热度:43   发布时间:2016-05-01 18:53:31.0
android 继承BaseAdapter,自定义的适配器,getView方法执行多组循环解决方式
1.如果Activity继承ListActivity,不自定义布局文件,直接使用android默认的ListView布局文件.不会出现getView()方法执行多组循环.
android默认的ListView布局文件如下:
<ListView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/list"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:drawSelectorOnTop="false"
    />

2.如果要使用自定义的ListView布局文件.需要注意的ListView的高度属性应该设置成fill_parent,如果ListView有父节点,那么父节点的高度属性也应该设置成fill_parent

<LinearLayout
android:layout_width="wrap_content"
android:layout_height="fill_parent"
>
<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scrollbars="none"
android:cacheColorHint="@android:color/transparent"
android:dividerHeight="1px"
android:divider="@color/list_dashed" >
</ListView>
</LinearLayout>

android在画布局的时候,会调用measure来确定View大小.导致getView执行多组相同的循环
1 楼 黑洞风 2012-01-10  
请问楼主,我的GridView的android:layout_height="fill_parent" 就是设置为fill_parent,还是重复执行getView啊,怎么回事呢?纠结,每个item就是一张图片啊,重复执行很耗流量啊
  相关解决方案