Android
独舞人生
Everything should be simple
展开
-
android ListView 滑动进度保存和恢复
这里只写一种方法,直接利用Google推荐的方法。举个例子就是: 做一个文件管理器,当进入子目录,然后返回后仍然能准确恢复之前的位置;具体方法就是 获取第一个可见的item的位置,再获取这个item对应view距离顶端的距离,然后调用listview.setSelectionFromTop(index,top); 即可。下面是例子的部分代码private List<int[][...原创 2017-04-04 15:26:08 · 639 阅读 · 0 评论 -
Android listview 的 item 点击无效(无法获取焦点)的解决方法
当listview的item中包含Button之类的空间时就会出现item无法响应事件 ,这是由于item的view中包含的button控件获取了焦点;网上很多人给出的在item的根布局属性中添加 android:descendantFocusability="blocksDescendants"并不一定能解决此问题;我的问题就没有解决反而使程序直接崩溃,我运行的...原创 2017-04-05 23:42:47 · 1641 阅读 · 0 评论 -
listview中的checkbox状态保存与恢复的完美方法
由于listview的特性机制导致item中的checkbox的状态无法保存,在这里提供一种很好的解决方法;首先我们知道listview的数据来源于Adapter中传入的list集合或者数组中的元素;因此我们可以为此元素创建一个包装类,在包装类中添加一个用来保存CheckBox状态的成员变量,可以同时创建setter和getter确保数据可以修改;然后在Adapter的getView()方法中...原创 2017-04-06 00:05:13 · 955 阅读 · 0 评论 -
ListView获取滑动(滚动)停止状态及响应事件
有时候我们为了获得更好的用户体验,不得不对ListView的Item中的图片的资源进行动态加载,一般的做法就是当Item停止滚动时进行加载,并且仅仅加载当前可见的item的数据;为我们可以为ListView设置OnScrollListener滚动监听器;这个监听器需要实现两个方法public void onScrollStateChanged(AbsListView view, i...原创 2017-04-21 21:14:14 · 2669 阅读 · 0 评论 -
Android 终极优化技巧
流畅度对于一个app来说至关重要,而提升流畅度的方法最直接的思想就是减少UI线程的耗时,即减少UI线程工作量;关于如何减少我这里提供一种思路,这个是我在做文件管理器是想到的:下面来解释下,思路很简单就是在UI线程中把需要执行的任务所需参数给包装起来,然后放进一个队列或者集合(List),接着创建一个取参数的线程,并在该线程中创建任务然后加入到线程池中,这里提一下往线程池中添加任务也会耗...原创 2018-07-19 19:47:31 · 353 阅读 · 0 评论