位置: 编程技术 - 正文
推荐整理分享android draglistview中拖动异常显示,无法移动到原先位置,希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!
这几天在网上找了draglistview可拖动的列表组件,写demo时发现列表在同方向拖动时没有问题,但在拖动中改变方向,如先向上后向下这样就会出现移动到原来位置时,listview不再出现实时移动效果,打了log观察后发现在启动动画之前会有
int tempPosition = pointToPosition(0, y);if (tempPosition == INVALID_POSITION || tempPosition == lastPosition) {return;}
这样的判断,再拖动回原先位置时获取的tempPosition一直为-1,即移动到了不可用的listview的item上,导致直接返回,也就不进行相应的item位置交换。查看代码后发现在listview getView中是这样写的
convertView = LayoutInflater.from(context).inflate(R.layout.drag_list_item, null);
//将正在拖动的item直接隐藏或不可见
convertView.setVisibility(View.GONE/INVISIBLE)
这样处理会导致pointToPosition(0, y);永远为-1,思来想去也没有好方法,“曲线救国”直接将item隐藏于背景中view.setImageResource(android.R.color.darker_gray)解决这一问题。
方法不是很好,但暂时解决了
Android 自定义ListView 实现下拉刷新 上拉加载功能 效果图思考Listview是viewGroup的子类,它本身提供了方法addHeaderView(Viewview),addFooterView(Viewview)去添加头布局和底布局,所以我们只要监听它的onTouchEv
androidのLinearLayout中组件右对齐 androidのLinearLayout中组件右对齐在LinearLayout中,如果将其定位方向设为横向排列:android:orientation=horizontal,那么这个布局中的控件将自左向右排列。但有
Android学习 - Android最佳性能实践 (一)合理管理内存怎样才能写出高性能的应用程序,如何避免程序出现OOM,或者当程序内存占用过高的时候该怎么样去排查。确实,一个优秀的应用程序
标签: android draglistview中拖动异常显示,无法移动到原先位置
本文链接地址:https://www.jiuchutong.com/biancheng/384220.html 转载请保留说明!上一篇:ImageView的android:maxHeight,android:minHeight的正确设置
下一篇:Android 自定义ListView 实现下拉刷新 上拉加载功能(android 自定义linearlayout 宽度计算不对)
友情链接: 武汉网站建设