android listview继承BaseAdapter,自定义的适配器,getView方法执行多组循环解决方式
16lz
2021-12-04
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执行多组相同的循环
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执行多组相同的循环
更多相关文章
- Android(安卓)shape 绘制图形的实例详解
- EditText支持Search按键搜索
- android中的ellipsize设置(省略号的问题)
- 让Ubuntu和Android同时运行(Ubuntu on Android)
- Android(安卓)之 EditText属性用法介绍
- Android(安卓)XML 不常用属性
- TextView处理显示字数过长
- Android(安卓)View 属性大全
- Android属性之build.prop,及property_get/property_set