关于pulltorefreshListView快速滑动留白问题等部分小问题
来源:互联网 发布:php excel destroy 编辑:程序博客网 时间:2024/06/01 09:08
相信用过PullToRefreshListView的同志们都会遇到很多奇奇怪怪的问题,项目打包异常、部分手机快速滑动留白问题。
今天就发现并基本解决了问题,所以分享一下。
首先是打包异常,会显示你的项目异常,但是在你clear之后又好了,在手机上运行飞快!!!报的错大概是PullToRefreshListView语言类异常,在此需要在项目中添加一段xml代码:
<?xml version="1.0" encoding="UTF-8"?> <lint> <issue id="ExtraTranslation" severity="ignore" /> <issue id="MissingRegistered" severity="ignore" /> <issue id="MissingTranslation" severity="ignore" /> </lint>
这里需要将改代码添加到自己的项目中 lint.xml 。后会发现,问题解决了。
第二个是没有发现Item长按监听器,这在很多项目中经常使用的竟然不存在!!!
当然在查看很多帖子后大部分会让你在源码中添加长按监听器,来实现该功能,对于这其实并不需要。
在PullToRefreshListView中需要得到ListVIew来实现长按监听:
listView.getRefreshableView().setOnItemLongClickListener(onItemLongClickListener);
使用上述代码就可以实现长按监听功能了。
最后一个也是很麻烦的一个,一开始我用三星手机调试时并没有发现该问题,最后项目要结束的时候拿华为手机一测(这里并没有说华为手机不好,适配问题)。发现在快速滑动的时候,我滑动的越快,留白处越大,最大是占PullToRefreshListView控件的一半。发现这个问题,上网也找了解决方案,发现并不是都会实用。因为Android手机的多样性导致适配效果的不同。最后没办法想了个不是很好的解决方案:
首先是在布局上需要添加两行代码,来让用户在快速滑动时使其在顶端或低端暂时停留:
xmlns:app="http://schemas.android.com/apk/res-auto"
android:overScrollMode="never"
app:ptrShowIndicator="false"
这里可以解决部分手机的留白问题。
而还有部分手机如我的测试机华为,就对此很无奈了,需要对滑动状态进行监听来强制控制上下拉模式,使其停留:
OnScrollListener onScrollListener = new OnScrollListener() {@Overridepublic void onScrollStateChanged(AbsListView view, int scrollState) {switch (scrollState) {case PullToRefreshListView.SCROLL_STATE_FLING:case PullToRefreshListView.SCROLL_STATE_TOUCH_SCROLL:// 滑动或快速滑动使其禁止上下拉listView.setMode(Mode.DISABLED);break;case PullToRefreshListView.SCROLL_STATE_IDLE:if (mailCount == index) {listView.setMode(Mode.PULL_FROM_START);// 滑到加载网络数据结束} else {listView.setMode(Mode.BOTH); // 否则使其上下拉效果打开}break;}listView.onRefreshComplete();}@Overridepublic void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {}};
在对PulltoRefreshListView添加该监听器后,发现问题得以缓解,是缓解,因为留白问题并不是很多,在快速滑动时也会有小小部分的留白,不过这没什么,在滑到低端时在此滑动就会进行加载效果。在该监听器中还需要进行多次逻辑处理,按业务需要来编写,这只是我自己的大概思路。
目前只能这样了,如果有更好的方法不吝赐教,谢谢!!!
- 关于pulltorefreshListView快速滑动留白问题等部分小问题
- PullToRefreshListView的小问题
- PullToRefreshListView滑动布局隐藏问题
- 关于使用pulltorefreshlistview刷新的问题
- Android-PullToRefresh 快速滑动产生的大片留白问题
- Android-PullToRefresh 快速滑动产生的大片留白问题
- 关于recyclerView快速上下滑动时的崩溃问题
- PullToRefreshListView碰到的问题
- PullToRefreshListView的Position问题
- Android PullToRefreshListView使用问题
- PullToRefreshListView 局部刷新问题
- Struts2部分小问题
- HTML5部分小问题
- 关于vivo等部分机型onActivityResult不执行问题
- bug等小问题
- 小问题快速处理
- PullToRefreshListView使用中的一些问题
- PullToRefreshListView使用中的一些问题
- C++ Map常见用法说明
- Vue笔记
- linux命令学习-文件目录之tail命令
- 一次请求中数据的传递流程
- 以下权限只需要在AndroidManifest.xml中声明即可使用
- 关于pulltorefreshListView快速滑动留白问题等部分小问题
- 共享内存查看清除命令ipcs和ipcrm
- tomcat解析(二)
- 观察者模式
- cocos2d-x 模型用上shader的方法。仅备份
- JAVA冒泡排序 Bubble Sort
- spring data jpa 利用JpaSpecificationExecutor做复杂查询
- 我用的AMD radeon R7 200系列显卡,为什么什么最高分辨率设置只有1600x1200
- 图片压缩