android listview使用总结
2015-04-28 22:01
323 查看
1.设置高度
2. 设置背景,取消下划线
3.获取当前点击的是listview的第几个子item
1.设置高度
layout_height 是无效的,要使用layout_minheight,就是最小高度
2. 设置背景,取消下划线
3.获取当前点击的是listview的第几个子item(我的理解)
首先要知道listview的所有子item都是他的子view,
子view是屏幕能够显示的view的个数,包括显示了一半的
然后看看listview的几个方法
myListView.getFirstVisiblePosition();//显示的第一个子view的position,比如显示的是第5个item在最上方的位置(0~n)
myListView.getId(); //应该是listview的id
myListView.getItemIdAtPosition(position); //返回的就是adapter.getItemId(position),也就是position
myListView.getChildCount(); //显示的子view的个数,包括显示了一半的
myListView.getCount(); //所有需要显示的view的个数
比如,点击66666
比如,点击777777777777
比如,点击888888888
如果移动下位置,6666的上方显示5555的一小部分,那么子view会变成4个
例如,我点击最上方空白位置
上面的都明白后我们就可以使用position - myListView.getFirstVisiblePosition() 来获得点击的是哪一个子view了(从0开始数)
实际上,如果是自定义listview,他有个方法可以在onInterceptTouchEvent方法的down中调用
this.pointToPosition(x,y); , 他需要一个坐标来确定,返回position,可以用上面的减法获得当前的子view是哪一个
为什么不再onTouchEvent中调用呢,因为,listview的dispatchTouchEvent分发事件的时候,事件被子item的view处理了,所以自己就不会再次处理。
结束2015-6-3
2. 设置背景,取消下划线
3.获取当前点击的是listview的第几个子item
1.设置高度
layout_height 是无效的,要使用layout_minheight,就是最小高度
2. 设置背景,取消下划线
<?xml version="1.0" encoding="utf-8"?> <ListView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/namelist" android:layout_width="match_parent" android:layout_height="match_parent" android:divider="#00000000" android:listSelector="@android:color/transparent" />
3.获取当前点击的是listview的第几个子item(我的理解)
首先要知道listview的所有子item都是他的子view,
子view是屏幕能够显示的view的个数,包括显示了一半的
然后看看listview的几个方法
myListView.getFirstVisiblePosition();//显示的第一个子view的position,比如显示的是第5个item在最上方的位置(0~n)
myListView.getId(); //应该是listview的id
myListView.getItemIdAtPosition(position); //返回的就是adapter.getItemId(position),也就是position
myListView.getChildCount(); //显示的子view的个数,包括显示了一半的
myListView.getCount(); //所有需要显示的view的个数
比如,点击66666
比如,点击777777777777
比如,点击888888888
如果移动下位置,6666的上方显示5555的一小部分,那么子view会变成4个
例如,我点击最上方空白位置
上面的都明白后我们就可以使用position - myListView.getFirstVisiblePosition() 来获得点击的是哪一个子view了(从0开始数)
实际上,如果是自定义listview,他有个方法可以在onInterceptTouchEvent方法的down中调用
this.pointToPosition(x,y); , 他需要一个坐标来确定,返回position,可以用上面的减法获得当前的子view是哪一个
为什么不再onTouchEvent中调用呢,因为,listview的dispatchTouchEvent分发事件的时候,事件被子item的view处理了,所以自己就不会再次处理。
结束2015-6-3
相关文章推荐
- Android关于ListView的总结--使用ListActivity
- Android关于ListView的总结--使用ListActivity
- android:ListView使用总结
- android编程之ExpandableListView使用总结
- android知识点总结 包括数据库的使用 listview适配 contextmenu的使用 和 contentprovider使用
- android编程之ExpandableListView使用总结
- Android ListView 常见问题与使用总结
- Android入门--ListView使用总结
- Android的Listview用法总结和Adapter的使用
- android ListView组件使用常见问题或形式总结(一)
- Android之PullToRefresh(ListView 、GridView 、WebView)使用详解和总结
- Android基本控件ListView的使用总结
- Android ListView使用总结
- Android中的ListView属性使用总结
- Android ListView 常见问题与使用总结
- Android之ListView使用总结
- Android中ListView使用总结
- Android 关于listview使用总结(不断更新)
- Android开发——ListView使用技巧总结(一)
- Android开发——ListView使用技巧总结(一)