Android回顾--(九) ListView和自定义适配器
16lz
2021-12-04
Listview:列表控件
ListView的特有属性
android:divider="@null" //去掉listView的分割线。"@drawable/ic_launcher" 可以通过使用图片进行自定义分割线android:dividerHeight="50dp" //设置分割线的高度android:listSelector="@android:color/transparent" //取消item的点击效果android:background="#f07" //设置listview的背景android:cacheColorHint="#0000000" //滑动ListView的时候那个默认的前景色 这个属性一般情况下和Background联合使用 一般情况下把所有的值都设置成0 就表示前景色是透明的android:fastScrollEnabled="true" // 当我们快速滚动的时候出现一个快速的滚动条android:smoothScrollbar="false" // 指的是滑动块是否使能android:scrollbarStyle="insideOverlay" // 这个就是那个Scroll的风格 细看才知道android:scrollbars="none" //取消滚动条的显示android:fadeScrollbars="true" //表示滚动条逐渐消失android:scrollbarSize="" // 设置滚动条的大小
通过系统提供的适配器来完成ListView的适配工作
适配器的主要功能:将数据源和模板以及控件之间建立一个诶关系,这个关系呢就是能够达到数据适配的工作。
ListView的两个点击事件
1、listView.setOnitemClickListener(); //item的点击事件
单击事件.png
2、listView.setOnItemLongClickListener(); //长按点击事件
长按点击事件.png
注意:如果在item里面有可以获取焦点的的控件的话,一般情况下都会将该控件的focusable设置成false,防止该控件获取了焦点而item没有获取到焦点。 有三种方法可以设置:
1、在该控件的属性下设置
android:focusable="false"
2、在java文件中获取该控件的对象,动态设置不获取焦点
Button btn = new convertView.findviewById(R.id.btn);btn.setFocusable(false);
3、在模板的根布局上面设置
android:descendantFocusabiliy="blocksDescendants"
在simpleAdapter中含有一个方法叫 setViewBinder 这个方法的调用是依赖于绑定的控件。也就是说给多少控件赋值,那么每个控件在绑定值的时候都会将该方法进行回调,我们可以利用这个回调的函数给里面绑定值的控件添加相应的事件
控件绑定事件.png
自定义适配器
-
编写一个类继承于BaseAdapter
自定义适配器的构建.png - 重写里面的方法
-
getCount():返回item的数量
getCount.png
-
-
getItem(): 返回数据源中的item对象
getItem.png -
getItemId(): 返回每个条目的位置
getItemId.png -
getView(): 返回每个条目的view
getView.png
更多相关文章
- Android(安卓)shape 几种用法
- 安卓基本常用控件: View
- 自定义单选按钮(RadioButton)的样式
- Android横竖屏总结
- Android设置字间距和行间距
- android-RelativeLayout实现顶部、中部、底部布局
- Android(安卓)Theme详细
- EditText属性
- Android(安卓)实例子源代码文件下载地址380个合集