前段时间在项目中用到了HorizontalListView的一些东东,后来在项目中数据刷新的时候需要回到第一项,想使用setSelection方法,却发现这个开源的代码没有实现这个方法。

1 @Override
2 public void setSelection(int position) {
3
4 }

该如何解决呢?

后来通过查看源代码,发现数据刷新后,程序回到记录的上一个位置。

protected synchronized void onLayout(boolean changed, int left, int top, int right, int bottom) {super.onLayout(changed, left, top, right, bottom);if (mAdapter == null) {return;}if (mDataChanged) {...................................................}.........................................}

查看数据更新的源码:

if (mDataChanged) {// comment by lixin for reset x location(2013-03-21)// int oldCurrentX = mCurrentX;// modify by lixin 2012-04-02 因为有需求不改变位置int oldCurrentX = 0;if (!needResetLocate) {oldCurrentX = mCurrentX;}initView();removeAllViewsInLayout();// comment by lixin for reset x location(2013-03-21)// mNextX = oldCurrentX;// modify by lixin 2012-04-02 因为有需求不改变位置if (!needResetLocate) {mNextX = oldCurrentX;}mDataChanged = false;}

在代码中加入一个标志位用来对位置进行记录分支。

转载于:https://www.cnblogs.com/ItNoob/archive/2013/05/02/HorizontalListView_set_selection.html

HorizontalListView中setSelection方法没有实现的数据刷新的解决方法相关推荐

  1. 周末杂谈:在MYSQL中,添加数据行后,使用右外连接查询所有课程的选修情况,要求列出课程编号、课程名称、选修人数,表中没有的课程列值为空的解决方法

    周末杂谈:在MYSQL中,添加数据行后,使用右外连接查询所有课程的选修情况,要求列出课程编号.课程名称.选修人数,表中没有的课程列值为空的解决方法 实验前期准备 course表(课程表) 在其中: c ...

  2. mybatis中resultType取出数据顺序不一致解决方法

    原来我的查询返回resultType = "map" , 也就是这个map,打乱了顺序.因为map并不能保证存入取出数据一致. 解决方法:resultType = "ma ...

  3. 扫描仪图标无法显示计算机,win7“我的电脑”中不显示扫描仪和摄像头的原因和解决方法...

    安装win7旗舰版系统后,点击打开"我的电脑"发现不显示扫描仪和摄像头图标,那么扫描仪和摄像头去哪里了呢?起初以为驱动没装好,但经过仔细研究,终于找到win7"我的电脑& ...

  4. mysql 导入主键冲突_MySQL 处理插入过程中的主键唯一键重复值的解决方法

    本篇文章主要介绍在插入数据到表中遇到键重复避免插入重复值的处理方法,主要涉及到IGNORE,ON DUPLICATE KEY UPDATE,REPLACE:接下来就分别看看这三种方式的处理办法. IG ...

  5. 机器学习数据倾斜的解决方法_机器学习并不总是解决数据问题的方法

    机器学习数据倾斜的解决方法 总览 (Overview) I was given a large dataset of files, what some would like to call big d ...

  6. JQuery中使用Ajax赋值给全局变量失败异常的解决方法,jqueryajax

    我们在用JQuery的Ajax从后台提取数据后想把它赋值给全局变量,但是却怎么都赋不进,为什么呢? 原因其实很简单,我们用的Ajax是异步操作,也就是说在你赋值的时候数据还没提取出来,你当然赋不进去, ...

  7. Druid monitor中SQL监控显示不出数据(已解决)

    Druid monitor中SQL监控显示不出数据(已解决) 检查方法一: 查看Druid monitor中的数据源是否可访问 如下图则数据源可访问: 这时检查application.yaml中的配置 ...

  8. mysql表中的中文是乱码_mysql插入表中的中文显示为乱码或问号的解决方法

    版权声明:本文为博主原创文章,未经博主允许不得转载. 今天在做ssh的博客项目时发现mysql数据库中的中文显示为问号,网上查阅了很多资料,都不是很全,所以我总结一下,供大家参考和自己复习. 1.我的 ...

  9. c++imread 函数_OpenCV中C++函数imread读取图片的问题及解决方法

    今天在用OpenCV实验Image Pyramid的时候发现一个奇怪的问题,就是利用C++函数imread读取图片的时候返回的结果总是空,而利用C函数cvLoadImage时却能读取到图像.代码如下: ...

  10. python中json与str转换和出现KeyError的解决方法

    python中json与str转换和出现KeyError的解决方法 json转str str转json KeyError的解决方法 json转str json格式的数据其实就是dict类型的数据,如图 ...

最新文章

  1. 排序算法总结之堆排序
  2. 一个软件公司需要多少前端_制作一个小程序商城需要多少钱?开发小程序公司哪家强?...
  3. 51nod 1092 回文字符串
  4. mysql两个表left join_mysql中两张表使用left join on 求差集
  5. hihoCoder1228(2015北京网络赛B题)
  6. Java 基础数据结构介绍
  7. python开启新代码块_20课零基础快速学python完成简单邮件完整邮件代码块
  8. javascript 计算每行中的列数
  9. 项目开发版本控制----Git
  10. 自动化查询及增加配置参数功能
  11. 【机器学习数学基础】Mathematics for Machine Learning 梳理+习题答案
  12. 元数建模工具chiner
  13. mongoose报错Cast to ObjectId failed for value
  14. 《论文阅读》FroDO: From Detections to 3D Objects
  15. 怎样使PPT自动播放
  16. 调试经验——让Oracle的中文提示修改为英文提示
  17. Java快速上手的编程套路
  18. stm32f0 大小端_STM32F0中文资料.pdf
  19. PHP - 关于empty()
  20. python33.dll_python33.dll,下载,简介,描述,修复,等相关问题一站搞定_DLL之家

热门文章

  1. JMS 基本概念、消息结构、确认模式 acknowledgeMode
  2. LayaAir UI组件 # List 列表、ProgressBar 进度条
  3. JQuery 实现表格数据行上移与下移效果
  4. Docker 概述 与 CentOS 上安装、卸载、启动
  5. 阶段3 3.SpringMVC·_03.SpringMVC常用注解_5 RequestHeader注解
  6. 阶段3 3.SpringMVC·_01.SpringMVC概述及入门案例_07.入门案例中使用的组件介绍
  7. 阶段3 1.Mybatis_03.自定义Mybatis框架_6.自定义Mybatis的编码-实现基于XML的查询所有操作...
  8. bzoj5118: Fib数列2(费马小定理+矩阵快速幂)
  9. 【如何提取软件图片素材资源】
  10. MySQL 5.5.31 procedure 的语法规则细节