android项目中记录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-10-13 06:29:58

android项目中记录ListView滚动停止位置与设置显示位置的相关文章

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

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

android开发之记录ListView滚动位置

这个问题本身不难,但是由于项目中的需求太过于复杂,结果导致这个问题变得不是那么容易实现.在网上一搜,结果如下: 我不知道是who copy who?反正介绍的所谓的三种方法,第一种都是无法运行的,很明显的bug,第二三种方法都是入门级知识,这几位大哥写博客自己都不先运行一下吗? 唉,不吐槽了,说说我的解决方案吧: 在需要记录滚动位置的地方执行下面的操作: int scrollPos = refreshListView.getFirstVisiblePosition(); View v1 = re

Android 项目中执行java的main方法

Android 项目中执行java的main方法 导语 今日,在android项目中写了一个工具类,为了简单测试一下输出,就只直接在类中加上了main方法,于是问题来了: 解决方法是网上找到了,已经解决了,在此记录一下. 右击项目名,调出Properties窗口,打开Run/Debug Settings 标签,右边即列出了这个项目中含有main方法的所有java类,双击你要允许的java类:

Android项目中使用类似菊花的Dialog

Android项目中使用类似菊花的Dialog 效果图一: 项目中使用的效果图二: 1.首先定义动画文件 <?xml version="1.0" encoding="utf-8"?> <animated-rotate xmlns:android="http://schemas.android.com/apk/res/android" android:drawable="@drawable/loading2"

android XMl 解析神奇xstream 一: 解析android项目中 asset 文件夹 下的 aa.xml 文件

1.下载工具 xstream 下载最新版本地址: https://nexus.codehaus.org/content/repositories/releases/com/thoughtworks/xstream/ 下载完成后 把jar包导入到自己的android项目中 2.asset 文件夹 下的 aa.xml 文件 <?xml version="1.0" encoding="UTF-8"?><product>    <name>

Android第4坑:Android项目中使用lambda表达式

Android项目中使用lambda表达式或Java8新特性,需要在app/build.gradle中添加如下配置 android { ... defaultConfig { ... jackOptions.enabled = true } compileOptions{ sourceCompatibility org.gradle.api.JavaVersion.VERSION_1_8 targetCompatibility org.gradle.api.JavaVersion.VERSION

“Win10 UAP 开发系列”之 在MVVM模式中控制ListView滚动位置

这个扩展属性从WP8.1就开始用了,主要是为了解决MVVM模式中无法直接控制ListView滚动位置的问题.比如在VM中刷新了数据,需要将View中的ListView滚动到顶部,ListView只有一个ScrollIntoView()方法可以控制滚动的位置,但最好在VM中不要出现直接控制View的代码,需要通过其他的方式. 使用一个扩展属性即可实现: /// <summary> /// 将ListView滚动到顶部 使用方法:在ListView增加扩展属性 /// ext:ListViewSc

Android项目中自定义顶部标题栏

Android项目中自定义顶部标题栏 下面给大家详细介绍android中自定义顶部标题栏的思路及实现方式 先来图:     思路及实现步骤 1.定义标题栏布局 2.自定义TitleActivity控制标题栏按钮监听 3.在TitleActivity中实现标题栏以下内容切换 首先定义标题栏 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http:/

Android项目中gen文件下R文件无法生成的解决的方法

帮一个网友解决R文件无法生成的问题,搜集了些材料特整理例如以下,刚開始学习的人參考他人代码时极易出现此种问题,一般都是xml文件出错,无法被正确解析. gen文件夹无法更新,或者gen文件夹下的R.JAVA文件无法生成 1.gen文件夹的用处 android gen文件夹下的R.java并非由用户创建,而是androidproject本身将android的资源进行自己主动"编号"(ID)值. 2.gen文件夹下R文件无法更新/生成的原因 1)res文件夹下的layout下的xml文件名