Android GridView实现滚动到指定位置的方法
作者:junjie 发布时间:2021-08-29 10:04:21
标签:Android,GridView,滚动,指定位置
当一个列表项目很多,并且每个项目可以进入到其它Activity或者Fragment时,保存之前列表的位置是一个比较不错的功能,
今天研究了一下怎么保存浏览位置,发现GridView和它的父类中有4个相关的方法:
public void smoothScrollToPosition (int position)
滚动到position指定的位置,api level 11之下可用
*当你滚动完后,返回列表,能正常滚动,但是你再次从列表的项目返回后,滚动失效,就是只能滚动一次,我认为这是一个Bug。然后我在Miui2.3的ROM上测试,不能正常滚动。
public void smoothScrollToPosition (int position, int boundPosition)
滚动到position指定的位置,然后判断position+boundPosition是否会超出Adapter中的总项目数,如果超出,则退回到
总数-boundPosition的位置显示。
*存在的问题跟上面的那个方法一样
public void smoothScrollToPositionFromTop (int position, int offset, int duration)
滚动到position项目的位置,并且position项目距离GirdView上边的距离为offset个像素,duration指定滚动需要的时间(毫秒)
*不存在只能滚动一次的问题,但是最低的api level需要11。
public void smoothScrollToPositionFromTop (int position, int offset)
效果跟第三个方法一样,但是采用api默认的时间,最低api level 11。
另:
ViewPager可以通过setCurrentItem(int position)设置当前显示哪一个Fragment。


猜你喜欢
- 二、简介多线程技术主要解决处理器单元内多个线程执行的问题,它可以显著减少处理器单元的闲置时间,增加处理器单元的吞吐能力,但频繁的创建线程的开
- 本文实例讲述了Java数组队列概念与用法。分享给大家供大家参考,具体如下:一.队列的概念 (1)队列也是一种线性结构(2)相比数组
- 虽然项目中都夹杂了Hibernate的支持,但是团队开发中,很多人为了编写特殊查询的代码时都使用了JDBC进行查询。JDBC查询后返回的是一
- 本文实例为大家分享了Android实现倒计时效果的具体代码,供大家参考,具体内容如下一个倒计时的效果先看效果图:直接上代码:这里是关于倒计时
- 1. 什么是单例模式单例模式指的是在应用整个生命周期内只能存在一个实例。单例模式是一种被广泛使用的设计模式。他有很多好处,能够避免实例对象的
- 本文实例为大家分享了java实现航空用户管理系统的具体代码,供大家参考,具体内容如下题目内容:某航空公司在其航班到达的不同的国家的不同地方设
- 概述附件,指随同文件发出的有关文件或物品。在PDF文档中,我们可以添加同类型的或其他类型的文档作为附件内容,而PDF中附件也可以分为两种存在
- git仓库直达List<String> strings = Lists.newArrayList("name=kk&q
- 前言本文将重点讲解一下Spring中@PropertySource注解的使用,如何通过PropertySource注解加载指定的配置文件。以
- BeanDefinitionRegistryPostProcessor概述可以看到BeanDefinitionRegistryPostPro
- 代理模式代理模式(Proxy):为其他对象提供一个代理以控制对这个对象的访问。主要解决:在直接访问对象时带来的问题,比如说:要访问的对象在远
- 引言热修复技术如今已经不是一个新颖的技术,很多公司都在用,而且像阿里、腾讯等互联网巨头都有自己的热修复框架,像阿里的AndFix采用的是ho
- 用idea编写代码不多天,写代码的时候突然左侧目录没了,遇到这种情况相信大多数的小伙伴都是和我一样直接百度,于是网上找了很长时间,大多数都是
- 在文本框中输入一个数字,点击开始累加按钮,程序计算从1开始累计到该数字的结果。因为该累加过程比较耗时,如果直接在UI线程中进行,那么当前窗口
- synchronized锁的升级(偏向锁、轻量级锁及重量级锁)java同步锁前置知识点1.编码中如果使用锁可以使用synchronized关
- 一:什么是SparkSQL?(一)SparkSQL简介Spark SQL是Spark的一个模块,用于处理结构化的数据,它提供了一个数据抽象D
- 在c和c++中,我们知道没办法起一个变量名叫int,因为这是C/C++保留的关键字,起这么一个变量名没办法区分到底是int类型还是int变量
- 一.背景在复习《C++基础与提高》时,自己实现运算符重载(i++)时,几次都报错。其实还是自己对运算符重载这一部分内容理解得不够透彻,于是再
- Java原生SPI面向接口编程+策略模式实现建立接口Robotpublic interface Robot { /
- 前言:干了这几个项目,也做过几次文件上传下载,要么是copy项目以前的代码,要么是百度的,虽然做出来了,但学习一下原理弄透彻还是很有必要的。