android listview继承BaseAdapter,自定义的适配器,getView方法执行多组循环解决方式
16lz
2021-01-23
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界面布局基本知识简述
- 【Android 应用开发】Android资源文件 - 使用资源存储字符串 颜
- Android布局属性解析
- android 布局文件属性说明
- Android 属性文件build.prop,获取属性以及设置属性
- Android获取打开各种文件Intent汇总
- 相对布局的常用属性
- android页面布局
- Android软键盘弹出,布局没有上移的解决办法