listview--记录ListView滚动停止位置与设置显示位置

在项目中经常使用到listView控件,当想记录滚动停止时的记录,当点击加载新的数据,从记录的位置开始显示的操作怎么实现尼?分为如下步骤

1.记录位置代码

[java] view plaincopy

  1. //声明记录停止滚动时候,可见的位置
  2. private int stop_position;

[java] view plaincopy

  1. @Override
  2. public void onScrollStateChanged(AbsListView view, int scrollState) {
  3. // TODO Auto-generated method stub
  4. // 判断是否是最后一行,并且停止滚动
  5. if (isLastRow && scrollState == OnScrollListener.SCROLL_STATE_IDLE) {
  6. //获取可见位置
  7. stop_position = lv_categories.getFirstVisiblePosition();
  8. // 判断是否是最后一页
  9. if (pageInfo.getNowPage() != pageInfo.getCountPage()) {
  10. // 查询下一页数据
  11. categoryManager.queryObjects(pageInfo.getNowPage() + 1);
  12. }
  13. // 记得把标识改为false
  14. isLastRow = false;
  15. }
  16. }
  17. @Override
  18. public void onScroll(AbsListView view, int firstVisibleItem,
  19. int visibleItemCount, int totalItemCount) {
  20. if ((firstVisibleItem + visibleItemCount) >= totalItemCount) {
  21. isLastRow = true;
  22. }
  23. }

2.重新开始位置

[java] view plaincopy

    1. // 设置listView控件的适配器
    2. lv_categories.setAdapter(adapter);
    3. //设置listView开始的可见位置
    4. lv_categories.setSelection(stop_position);
时间: 2024-11-07 10:43:10

listview--记录ListView滚动停止位置与设置显示位置的相关文章

android项目中记录ListView滚动停止位置与设置显示位置

在项目中经常使用到listView控件,当想记录滚动停止时的记录,当点击加载新的数据,从记录的位置开始显示的操作怎么实现尼?分为如下步骤 1.记录位置代码 [java] view plaincopy //声明记录停止滚动时候,可见的位置 private int stop_position; [java] view plaincopy @Override public void onScrollStateChanged(AbsListView view, int scrollState) { //

Android之ListView异步加载图片且仅显示可见子项中的图片

折腾了好多天,遇到 N 多让人崩溃无语的问题,不过今天终于有些收获了,这是实验的第一版,有些混乱,下一步进行改造细分,先把代码记录在这儿吧. 网上查了很多资料,发现都千篇一律,抄来抄去,很多细节和完整实例都没看到,只有自己一点点研究了,总体感觉 android 下面要显示个图片真不容易啊. 项目主要实现的功能: 异步加载图片图片内存缓存.异步磁盘文件缓存解决使用 viewHolder 后出现的图片错位问题优化列表滚动性能,仅显示可见子项中的图片无需固定图片显示高度,对高度进行缓存使列表滚动时不会

universal image loader在listview/gridview中滚动时重复加载图片的问题及解决方法

在listview/gridview中使用UIL来display每个item的图片,当图片数量较多需要滑动滚动时会出现卡顿,而且加载过的图片再次上翻后依然会重复加载(显示设置好的加载中图片) 最近在使用UIL遇到了这个问题,相信这个问题许多使用UIL的人都碰到过 现在把解决方法贴出来给有同样问题的朋友做参考 先看下UIL的工作流程 在已经允许内存,存储卡缓存的前提下,当一个图片被请求display时,首先要判断图片是否缓存在内存中,如果false则尝试从存储卡读取,如果依然不存在最后才从网络地址

使用LinearLayout实现ListView,解决ListView和ScrollView滚动冲突

在项目中,我们常常会遇到一个ScrollView里面会嵌套ListView的情况,但往往你会发现,ListView和ScrollView的滚动时间会有冲突问题,造成ListView不能完全显示.虽然网上有给出解决方案,但事实上并不好用,并不完美. public void setListViewHeightBasedOnChildren(ListView listView) { // 获取ListView对应的Adapter ListAdapter listAdapter = listView.g

ListView或者RecycleView滚动时隐藏Toolbar( Part 2 )

ListView或者RecycleView滚动时隐藏Toolbar( Part 2 ) > * 原文链接 : How to hide/show Toolbar when list is scrolling (part 2) * 译者 : chaossss * 校对者: 这里校对者的github用户名 * 状态 : 完成 Hello,各位小伙伴,俺胡汉三又来了!!!今天我打算接着上一篇博文继续给大家讲解展现/隐藏Toolbar的效果.我建议没有读过 ListView或者RecycleView滚动时

解决ScrollView中嵌套Listview,Listview中嵌套Listview显示不完整和滑动冲突的问题

在一个滑动控件或者是布局里面,添加另外一个可以滑动的控件,通常会造成一些莫名其妙的问题.今天主要介绍在工作中遇到的,在ScrollView布局中嵌套Listview显示不正常,和在Listview中嵌套Listview的滑动冲突的问题. 1.ScrollView布局中嵌套Listview显示不正常的解决方案 目前来说,解决这个问题有好几种解决方案,这里只介绍其中两种比较简单易行的其中两种. (1)自定义一个Listview,继承自Listview,代码如下: public class ListV

有关Listview分页以及判断Listview是否已经滚动到低端的一些探索

在体验其他设计优美的app时加载动画的假象让我以为Listview的最后一条item完全显示之后才正式加载,导致我走入了一个误区浪费了很长的一段时间,最终我也是妥协以最后一条item刚被暴露开始作为Listview滚动到底部的标志,也就是说无须费很大劲去实现一个并没有多大提升的细节了.期间当然发现了一些很好的解决办法, 其一(网上引用的代码,原始出处不详,故不注明了): 1 private int getLastVisiblePosition = 0, lastVisiblePositionY

在ScrollView添加一个ListView造成的滚动问题的简单解决办法()

正常来说,在ScrollView添加一个ListView后在真机上只会显示ListView的一行多一点,我也不理解为什么会这样,后来我把ListView的layout_height改成400dip,而不是用match_parent和wrap_content,我发现这样的话ListView就显示的多了很多.所以就产生了把ListView所有的item的高度算出来给ListView设置的想法.下面是代码: Java代码 public void setListViewHeightBasedOnChil

【Android】解决Android的ListView控件滚动时背景变黑

[转载]解决Android的ListView控件滚动时背景变黑 如果大家在非黑色背景下使用ListView控件时,Android默认可能在滚动ListView时这个列表控件的背景突然变成黑色.这样可能导致程序的黑色的背景和主程序的主题既不协调.解决的方法Google在设计Android时也考虑了,在Layout的ListView中加入android:cacheColorHint="#00000000" 的属性即可. 如: <?xml version="1.0"