Android listview定位到上次显示的位置的实现方法
Android listview定位到上次显示的位置的实现方法
整体思路:滑动lictview时,记录listview的位置,定位时定位到该位置。
1、添加全局变量
private int scrolledX = 0; private int scrolledY = 0;
2、Oncreate()添加滚动事件监听
ClassesLV.setOnScrollListener(new OnScrollListener() { /** * 滚动状态改变时调用 */ @Override public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { } @Override public void onScrollStateChanged(AbsListView view, int scrollState) { if (scrollState == OnScrollListener.SCROLL_STATE_IDLE) { try { scrolledX = view.getFirstVisiblePosition(); Log.i("scroll X", String.valueOf(scrolledX)); scrolledY = view.getChildAt(0).getTop(); Log.i("scroll Y", String.valueOf(scrolledY)); } catch (Exception e) { } } } // });
3、activity 重新启动时,恢复原先的定位。
public void onBack() { ClassesLV.setSelectionFromTop(scrolledX, scrolledY); } protected void onResume() { // ClassesLV.scrollTo(scrolledX, scrolledY); onBack(); // initDataFromNet(); isClick = 0; super.onResume(); }
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
相关推荐
-
Android ListView之setEmptyView正确使用方法
Android ListView之setEmptyView正确使用方法 我们知道ListView组件提供了一个空数据是的视图设置方法setEmptyView,该方法存在一个诟病,就是空视图和listview组件要在一个Parent中,这个就不在此细说,下面说另一个问题,原因其实和前面那个问题同出一辙. 假如emptyView和listview在布局中,已经属于同一个parent,设置EmptyView的代码如下 private void setEmptyView(){ emptyTv.setTe
-
Android ListView实现单选及多选等功能示例
本文实例讲述了Android ListView实现单选及多选等功能的方法.分享给大家供大家参考,具体如下: 在项目中也遇到过给ListView的item添加选择功能.比如一个网购APP,有个历史浏览页面,这个页面现点击item单选/多选及全选删除功能. 当时也是通过在数据中添加一个是否选择的字段来记录item的状态,然后根据这个字段有相应的position位置进行选择状态更改及删除操作. 刚刚看了Android API Demos中17种ListView的实现方法,发现ListView自身就带有
-
Android Adapter里面嵌套ListView实例详解
Android Adapter里面嵌套ListView实例详解 前言: 可嵌套~但是显示需要特殊处理下~以下是处理方法 前几天因为项目的需要,要在一个ListView中放入另一个ListView,也即在一个ListView的每个ListItem中放入另外一个ListView.但刚开始的时候,会发现放入的小ListView会显示不完全,它的高度始终有问题.上网查了下,发现别人也有遇到这样的问题,而大多数人都不推荐这样的设计,因为默认情况下Android是禁止在ScrollView中放入另外的Scr
-
Android 中通过ViewDragHelper实现ListView的Item的侧拉划出效果
先来看看,今天要实现的自定义控件效果图: 关于ViewDragHelper的使用,大家可以先看这篇文章ViewDragHelper的使用介绍 实现该自定义控件的大体步骤如下: 1.ViewDragHelper使用的3部曲,初始化ViewDragHelper,传递触摸事件,实现ViewDragHelper.Callback抽象类. 2.需要创建2个直接的子View,分别是前景View和背景View,代表ListView每一项Item的布局的组成,如下所示: 未划出时显示的FrontView: 划出
-
Android ListView填充数据的方法
Android ListView填充数据的方法 因为多人开发,为了是自己开发的模块方便融合到主框架中,同时也为了减小apk的大小,要求尽可能少的使用xml的布局文件,开发中需要在ListView中显示数据,网上查到的几乎所有的示例,都是通过xml文件来为ListView的Item提供布局样式,甚是不方便. 能不能将自己通过代码创建的布局(如View,LinearLayout)等动态的布局到ListView呢?当然可以. 为了给ListView提供数据,我们需要为其设置一个适配,我们可以从Base
-
Android ListView中headerview的动态显示和隐藏的实现方法
Android ListView中headerview的动态显示和隐藏的实现方法 1.动态设置headerview的方法 动态设置headerview有两个思路. 方法一 将header的布局写在list item的布局文件中,在adapter中通过判断position的值是否为0动态控制其显示或隐藏. 代码示例: item.xml布局文件 <?xml version="1.0" encoding="utf-8"?> <LinearLayout x
-
Android 实现ListView的点击变色的实例
Android 实现ListView的点击变色的实例 我做了一个音乐播放器,其中用ListView显示歌曲列表,当我点击某一首歌时,希望这首歌所在的item的背景颜色改变,以突出显示所选择的歌曲. 首先我想到的是在ItemClickListener里面写,如下: private View formerView=null; private class ListViewClickListener implements OnItemClickListener{ @Override public voi
-
Android编程之ListView和EditText发布帖子隐藏软键盘功能详解
本文实例讲述了Android编程之ListView和EditText发布帖子隐藏软键盘功能.分享给大家供大家参考,具体如下: 在Android开发中,手动调用软件盘的隐藏和显示有时候也是非常常见的需求. EditText控件实现了点击打开软键盘输入功能,but why ? 为什么EditText可以点击弹出keyboard,而TextView却不可以,EditText继承TextView做了哪些修改呢?关于这些问题得查看相关具体代码如何实现可以参考,看似简单的控件其实系统封装实现的很复杂.这里告
-
Android listview定位到上次显示的位置的实现方法
Android listview定位到上次显示的位置的实现方法 整体思路:滑动lictview时,记录listview的位置,定位时定位到该位置. 1.添加全局变量 private int scrolledX = 0; private int scrolledY = 0; 2.Oncreate()添加滚动事件监听 ClassesLV.setOnScrollListener(new OnScrollListener() { /** * 滚动状态改变时调用 */ @Override public v
-
android scrollview 滑动到顶端或者指定位置的实现方法
在Android开发中很多时候会遇到一屏显示不下所有内容的现象,那大家也知道这个时候肯定会想到用scrollview来进行滚屏显示. 这个时候由于某些需求,会要求在最开始显示scrollview的时候就定位到某一处,这篇就是来讲这个的哈- 首先,scrollView.scrollTo( x, y );这个方法是能对滚动条进行定位的,这个大家都知道. But,貌似很多时候这个方法的调用没有什么效果呀-- 上面所说的调用scrollTo方法看上去好像并没有起到对滚动条进行定位的效果,其实是因为我们是
-
Android 7.0系统webview 显示https页面空白处理方法
最近开发的时候,偶尔遇到在线上稳定运行的webview内嵌的h5页面加载不出来,一直定位不到具体原因(因为我们自己做的兼容性测试上不重现),看系统日志也没有发现什么问题,后来咨询了用户手机的型号,发现是7.0或者6.0以上的个别机型会出现. 后来借到了一台业务的手机,型号是:三星 S6 EDGE,SM-G9205,在大多数机型上运行正常的页面,在这个机器上如下图: 这个页面在近期的变更是从http切换到https,由于之前的页面是http,我们在切换的时候,除了url之外,并未对webview的
-
Android编程实现Toast只显示最后一条的方法
本文实例讲述了Android编程实现Toast只显示最后一条的方法.分享给大家供大家参考,具体如下: 在做Android开发中,时不时的可能会用到Toast,但用Toast的时候,连续使用会存在一个问题,就是一条条显示Toast.而不是直接显示最后一条.因此,根据此需求,现在写了ToastUtil这个类,该类中有三个方法供选择. ToastUtil.Java import android.content.Context; import android.graphics.PixelFormat;
-
Android ListView 子控件onClick正确获取position的方法
在实际开发中,我们有时候不仅需要响应ListView的onItemClick,还需要响应其子控件的点击事件,这个时候我们就会 发现,由于复用等原因,如果直接在子控件的onClick事件中调用getView()中的position,会出现数据或显示错位的问 题,原因就是position的值出现了重复或不准确,解决这个问题的方法是,在adapter每次加载数据的时候,为需要点击 的控件设置一个tag值,这个tag值就设置为当前这个控件对应的position,然后在点击事件中gettag(),获取这个
-
android ListView和ProgressBar(进度条控件)的使用方法
ListView控件的使用:ListView控件里面装的是一行一行的数据,一行中可能有多列,选中一行,则该行的几列都被选中,同时可以触发一个事件,这种控件在平时还是用得很多的.使用ListView时主要是要设置一个适配器,适配器主要是用来放置一些数据.使用起来稍微有些复杂,这里用的是android自带的SimpleAdapter,形式如下:android.widget.SimpleAdapter.SimpleAdapter(Context context, List<? extends Map<
-
解决Android ListView数据为空及加载错误的方法
在项目中,都会用到ListView或GridView等列表控件.一般会用来展示从网络请求的数据 .如果请求的数据为空或者在请求的时候正好无没有网络了,我们的界面应该如何展示呢?数据为空的时候,ListView可以使用setEmptyView (View emptyView) 方法来我们需要的统一界面.数据加载失败呢?我们也可以统一进行处理. //下面这个类是简单地封装用于无数据及加载错误的一个页面. public class CommonShowView { private Context mC
-
android图库竖屏不显示status bar的解决方法
图库在JB和JB2的版本上显示的行为是:横屏全屏显示,竖屏会显示status bar.如何使竖屏也不显示status bar. 修改alps/packages/apps/Gallery2/src/com/android/gallery3d/app/AbstractGalleryActivity.java中toggleStatusBarByOrientation() 方法: 复制代码 代码如下: private void toggleStatusBarByOrientation() { if (m
-
Android ListView数据的分批显示功能
Android ListView数据的分批显示 布局文件activity_call_safe2.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" androi
随机推荐
- 详解如何使用webpack+es6开发angular1.x
- linux shell流程控制语句实例讲解(if、for、while、case语句实例)
- Docker 基础之Dockerfile命令详解
- js禁止Backspace键使浏览器后退的实现方法
- ASP.NET实现从服务器下载文件问题处理
- CodeIgniter记录错误日志的方法全面总结
- PHP实现的简单日历类
- c#开发word批量转pdf源码分享
- C语言数据结构中定位函数Index的使用方法
- MySQL分表实现上百万上千万记录分布存储的批量查询设计模式详解
- mysql触发器实现oracle物化视图示例代码
- MySql判断汉字、日期、数字的具体函数
- js写出遮罩层登陆框和对联广告并自动跟随滚动条滚动
- 网站接入QQ登录的两种方法
- js open() 与showModalDialog()方法使用介绍
- jQuery中deferred对象使用方法详解
- JScript内置对象Array中元素的删除方法
- Ruby on Rails中的ActiveRecord编程指南
- jquery 表格分页等操作实现代码(pagedown,pageup)
- C++获取多浏览器上网历史记录示例代码(支持获取IE/Chrome/FireFox)