listview记住上次滑动的位置

c# listview 实现循环滚动显示 立即下载

listview记住上次滑动的位置


第一种:记录listView滚动到的位置的坐标

scrolledX=listview.getScrollX();

scrolledY=listview.getScrolly();

恢复位置时调用:listview.scrollTo(scrolledX,scrolledY);


(但是不知道为什么一直得到的是0,0)



第二种:记录listView显示在屏幕上的第一个item的位置

listView.setOnScrollListener(new OnScrollListener() {  
  
    /** 
     * 滚动状态改变时调用 
     */  
    @Override  
    public void onScrollStateChanged(AbsListView view, int scrollState) {  
        // 不滚动时保存当前滚动到的位置  
        if (scrollState == OnScrollListener.SCROLL_STATE_IDLE) {  
            position = listView.getFirstVisiblePosition();  
        }  
    }  
  
    /** 
     * 滚动时调用 
     */  
    @Override  
    public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {  
    }  
});

在恢复位置时调用

listView.setSelection(position); 

(亲测可以使用)




下面是一个小demo:

package com.example.cklistview;

import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.widget.AbsListView;
import android.widget.AbsListView.OnScrollListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class MainActivity extends Activity {

	ListView listView;
	int position;
	SharedPreferences sp;
	SharedPreferences.Editor mEditor;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		listView = (ListView) findViewById(R.id.listView1);

		SharedPreferences sp = PreferenceManager
				.getDefaultSharedPreferences(this);
		mEditor = sp.edit();

		position = sp.getInt("list_pos", 0);

		ArrayAdapter<String> arrayAdapter = new ArrayAdapter<>(this,
				android.R.layout.simple_expandable_list_item_1, getData());
		listView.setAdapter(arrayAdapter);

		listView.setSelection(position);

		listView.setOnScrollListener(new OnScrollListener() {

			@Override
			public void onScrollStateChanged(AbsListView arg0, int arg1) {
				// TODO Auto-generated method stub
				// 不滚动时保存当前滚动到的位置
				if (arg1 == OnScrollListener.SCROLL_STATE_IDLE) {
					position = listView.getFirstVisiblePosition();

					mEditor.putInt("list_pos", position);
					mEditor.commit();
					
					System.out.println("<position-->" + position);
					
					//arg0.getScrollX();
				}
			}

			@Override
			public void onScroll(AbsListView arg0, int arg1, int arg2, int arg3) {
			}
		});

	}

	private List<String> getData() {

		List<String> data = new ArrayList<String>();
		for (int i = 0; i < 100; i++) {
			data.add("==>" + i);
		}
		return data;
	}

}






Android简单记录和恢复ListView滚动位置的方法 本文实例讲述了Android简单记录和恢复ListView滚动位置的方法。分享给大家供大家参考,具体如下: 有时候我们需要记录当前ListView滚动到的位置,重新加载的时候要回到原位,不罗嗦,给出代码: //列表滚动 private OnScrollListener ScrollLis = new OnScrollListener() { @Override public void onScroll(AbsListView arg0, int arg1, int arg2, int arg3) { } @Override public void onScrollStat 立即下载

相关推荐

从零到一:用AXI DataMover在Zynq MPSoC上实现高效DMA传输(附Vitis HLS驱动示例)

本文详细介绍了如何在Xilinx Zynq UltraScale+ MPSoC平台上使用AXI DataMover实现高效的DMA数据传输。通过解析AXI DataMover架构、Vivado工程配置、Vitis HLS驱动开发及性能优化技巧,帮助开发者快速构建高性能数据传输通道,并提供了可直接复用的代码示例。

weixin_42520796的博客 426

C# 设置ListView某一行在刷新时始终保持可见,不随滚动条的滚动而被屏蔽

ListView当中加载大数据量时,最新加载的一行会看不到,因为滚动条不会自动滚到最后一行,这时候就需要自己 在程序中手动设置一下,方法如下://始终保持最后一行可见 ListView.Items[row].EnsureVisible(); 其中的row就是最后一行的索引。

松龄的专栏 3906

ArcGIS基础:CAD数据转换为GIS数据(符号化显示、数据转换、线转面、空间连接)

1、符号化显示: CAD数据加载进来有很多列表,包含了点【point】、线【polyline】、面【polygon】、标注数据【Annotation】等数据,本次实验我们需要用到的是面数据,也就是.dwgPolygong格式的数据。如下图所示: 把数据加载进来,然后在2处打开属性表,查看CAD数据的属性表,打开后可以发现【layer】图层表示就是地块的用地性质,它就是符号化显示的依据。 我们在数据上右键【属性】,打开图层属性,找到【符号系统】,选择类别中的【唯一值】,然后在【值字段】下拉选择【layer】,

yuanYW7556的博客 2万+

如何保存ListView上次的滚动条的位置(转)

如何保存ListView上次的滚动条的位置 1. 记住最后一次点击的id: int id = lv.getSelectedItemPosition();2.Activity:onCreate()最后加上次语句:lv.setSelection(id); 转载于:https://www.cnblogs.com/zhwl/archive/2011/08/31/2160292.html...

weixin_30532759的博客 123

技能伤害继承英雄属性【War3地图编辑器】

风暴之锤跟随山丘之王的力量增长

ArYe 2303

天地图API避坑指南:从零开始实现地址搜索与坐标标记

本文是一份天地图API实战避坑指南,详细讲解了从申请密钥、初始化地图到实现地址搜索与坐标标记的全过程。针对开发中常见的坐标偏移、搜索建议不显示、事件监听失效等核心难题,提供了具体的解决方案和代码示例,帮助开发者高效、稳定地集成天地图服务。

weixin_29326909的博客 264

C#中ListView(CheckBox)滚动的技巧

问题: 一ListView控件中(有CheckBox)有数十条数据,怎么样实现“不允许用户编辑ListView控件的同时,确保ListView的滚动条可以正常使用?”, 回答: 为“确保ListView的滚动条可以正常使用”,需要把ListView控件的Enabled属性设置为true,为了禁止用户改变ListView数据项的Check状态,可以在ListView控件的ItemC

hdtrs2010的专栏 1275

SpringBoot整合海康SDK实战:从设备初始化到PS流录像转MP4全流程(附避坑指南)

本文详细介绍了SpringBoot整合海康SDK的完整实战流程,涵盖设备初始化、通道管理、录像检索与下载。针对海康设备生成的PS流录像文件无法直接播放的痛点,重点解析了如何利用FFmpeg高效、无损地将其转换为通用的MP4格式,并提供了关键的避坑指南和性能优化建议。

chair的专栏 764

工业AI智能体如何实现汽车制造色差智能管控与工艺优化

在智能制造与工业自动化领域,机器视觉与深度学习技术正推动质量检测从传统人工向智能化转型。其核心原理在于通过多光谱成像、传感器融合等技术采集高精度颜色数据,并利用卷积神经网络(CNN)等模型提取颜色特征,结合工艺参数建立数字孪生关联模型,实现颜色与生产过程的精准映射。该技术的价值在于将质量控制从事后抽检升级为实时在线全检与预测性调控,显著提升生产效率和产品一致性。在汽车制造、涂装工艺等场景中,系统通过感知-分析-决策-执行的闭环架构,能自动识别色差异常、溯源工艺根因,甚至实现参数自适应调整。本文聚焦的工业AI

weixin_30915275的博客 462

考试遇到 Assistant API 考点时,该掌握哪些要点?

【摘要】聚焦阿里云大模型 ACP 认证中智能体 Assistant API 考点,我结合自学认证成功经验,分享复习攻略。先解析 assistants、threads 等五个核心组件作用与关系,点明各组件支持及不支持的方法,最后给出计算 Python 代码调用大模型次数的思路,助力考生攻克考点、顺利拿证 。

davidkorhenn的博客 495

基于Simulink的超级电容快速响应特性建模与仿真

本文介绍了基于Simulink的超级电容快速响应特性建模与仿真方法。主要内容包括:超级电容的工作原理、一阶RC等效电路模型及其动态电压方程;通过Simulink搭建超级电容模型的两种方法(Simscape Electrical推荐方案和基础模块透明教学方案);仿真100A×100ms放电脉冲下的电压响应特性,并与锂电池进行动态对比;分析超级电容在混合储能系统中的功率分配优势。文章还提供了工程实践要点和扩展方向,如电压均衡、温度影响评估以及与DC-DC变换器集成等。通过建模实践,验证了超级电容在毫秒级响应、高

xiaoheshang_123的博客 98

Android让ListView记住上次滑动到的位置

近在应用开发中为了做到更好的用户体验,需要让ListView记住上次滑动到的位置,使用getScrollY()方法总是返回0,到最后也没搞懂是为啥。 最后在谷歌上找到了这个,实验了一下,还真可以~// save index and top position int index = mList.getFirstVisiblePosition(); View v = mList.getChild

Dream It Possible 1万+

基于Simulink与MATLAB的七轴OpenArm机械臂逆运动学仿真与轨迹规划完整指南

本文详细介绍了七自由度OpenArm机械臂在MATLAB/Simulink环境下的运动学仿真与轨迹规划实现方法。首先建立了机械臂的DH参数模型,验证了正运动学计算;随后提出了两种逆运动学求解算法(数值迭代法和臂型角参数化解析法)的MATLAB实现方案;最后在Simulink中搭建了完整的轨迹规划与控制系统。研究解决了七自由度冗余机械臂特有的多解性、奇异性和关节限位约束等核心问题,为OpenArm机械臂的运动控制提供了完整的技术方案和可运行代码实现。

AI的内部世界的博客 684

让ListView记住上次滑动到的位置

转载自:http://blog.youkuaiyun.com/l_yqing/article/details/7067648 最近在应用开发中为了做到更好的用户体验,需要让ListView记住上次滑动到的位置,使用getScrollY()方法总是返回0,到最后也没搞懂是为啥。 最后在谷歌上找到了这个,实验了一下,还真可以~ 原文链接:http://stackoverf

cmoaciopm的专栏 1728

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Android学习札记1:让ListView记住上次滑动到的位置

最近在应用开发中为了做到更好的用户体验,需要让ListView记住上次滑动到的位置,使用getScrollY()方法总是返回0,到最后也没搞懂是为啥。 最后在谷歌上找到了这个,实验了一下,还真可以~ 参考资料:http://stackoverflow.com/questions/3014089/scroll-to-a-position-in-a-listview

L_YQing的专栏 1434

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Android列表滑动定位,Android让ListView记住上次滑动到的位置

如果一个ListView太长,有时我们希望ListView在从其他界面返回的时候能够恢复上次查看的位置,这就涉及到ListView的定位问题:解决的办法如下:1234567//保存当前第一个可见的item的索引和偏移量intindex = mList.getFirstVisiblePosition();View v= mList.getChildAt(0);inttop = (v == null)...

weixin_29903043的博客 508

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

System.arraycopy方法的使用

http://blog.youkuaiyun.com/java2000_net/article/details/4059465 http://blog.youkuaiyun.com/java2000_net/article/details/4059465 http://blog.youkuaiyun.com/java2000_net/article/details/4059465 http://blog.csdn.

374

ListView滑动位置精准记忆

需求场景:一个ListView页面,滑动阅读到某一位置,然后退出页面,下次再进入页面的时候,想要直接滑动到上次阅读的位置。 方案1:页面退出的时候,ListView.getFirstVisiblePosition()来获取当前可见的第一个Item的position并记录,下次再进入页面的时候通过ListView.setSelection(int position)把ListView直接滑动到记忆...

weixin_34410662的博客 108

精确记录和恢复ListView滑动位置

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33932129的博客 145

Android ListView的滑动位置,并恢复。

当从ListView中的某一个Item跳转到其他的Activity,进行操作之后,ListView可能需要刷新(重新加载数据源),这个时候ListView就会回到原始的状态,即:从第一个Item开始显示。我们要做的是让它回到原来的位置 1 2 3 4 5 6 7 8 9 10 11 12

Dream It Possible 3699

Android保存和恢复ListView的滑动后位置

MainActivity如下: package cc.testlistview; import java.util.ArrayList; import java.util.HashMap; import cn.com.bravesoft.testlistviewloadmore.R; import android.app.Activity; import android.content.Shar

谷哥的小弟 2954

RecyclerView里嵌套ViewPager,滚动RecyclerView时,记住之前ViewPager滑动后的位置

如果是ListView里嵌套ViewPager的话,首先要考虑的是竖向滑动和横向冲突的问题,RecyclerView的话,不用考虑此问题 方法: 准备一个map来存储你滑动过的ViewPager所在的RcyclerView中的位置和你滑动ViewPager后,ViewPager所显示的内容的位置 RcyclerView每次显示其item时,使其内部的ViewPager,按照map里保存好的信息,来显

Android_Study_OK的博客 8546

ListView 记住位置 非Itme位置

应用开发中为了做到更好的用户体验,需要ListView记住上次滑动到的位置,使用getScrollY()方法总是返回0,因为getScrollY() 是View的方法。最后在谷歌上找到了这个:// save index and top position int index = mList.getFirstVisiblePosition(); View v = mList.getChildAt

路漫漫亦无涯 708
上一篇: Java抽象类与接口的区别
下一篇: onSaveInstanceState和onRestoreInstanceState触发的时机
ckdroid
博客等级 码龄12年 10粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值