如果用ListView,让它滚动到顶部,一般是这样写的:

if (!listView.isStackFromBottom()) {
listView.setStackFromBottom(true);
}
listView.setStackFromBottom(false);

但是,使用PullToRefreshListView以后,发现该对象竟然没有setStackFromBottom()方法!

翻翻它的源码,发现是这样的:

public class PullToRefreshListView extends PullToRefreshAdapterViewBase<ListView>{...}

它并不是继承于ListView,所以也无法将这个对象cast到ListView。

但是,实际上PullToRefreshListView的主体确实是一个ListView,那么如何使用属于ListView的方法呢?

在百度、谷歌搜索了半天,终于在stackoverflow上找到了答案:Retaining scroll position on Pull To Refresh

PullToRefresh为了实现各种不同的View的下拉刷新,并不是简单的继承自ListView,而是采用了泛型。

实际上可以理解为在ListView(或者其他想要实现下拉刷新的View)外面包了一层ParentView

想要得到里面的ListView,有这样一个方法:

listView.getRefreshableView();

因此,想要让它回到顶部,代码如下:

ListView mlist = listView.getRefreshableView();
if (!(mlist).isStackFromBottom()) {
mlist.setStackFromBottom(true);
}
mlist.setStackFromBottom(false);

解决问题!

pulltorefresh滚动到底部的更多相关文章

  1. 页面滚动到底部自动 Ajax 获取文章

    页面滚动到底部自动 Ajax 获取文章  代码如下 复制代码 var _timer = {};function delay_till_last(id, fn, wait) {    if (_time ...

  2. jQuery 滚动条 滚动到底部(下拉到底部) 加载数据(触发事件、处理逻辑)、分页加载数据

    1.针对浏览器整个窗口滚动 主要代码: <script type="text/javascript"> ; function GetProductListPageFun ...

  3. 滚动到底部加载更多及下拉刷新listview的使用

    最新内容建议直接访问原文:滚动到底部加载更多及下拉刷新listview的使用 本文主要介绍可同时实现下拉刷新及滑动到底部加载更多的ListView的使用. 该ListView优点包括:a. 可自定义下 ...

  4. 安卓使ScrollView滚动到底部代码

    在开发中,我们经常需要更新列表,并将列表拉倒最底部,比如发表微博,聊天界面等等, 这里有两种办法,第一种,使用scrollTo(): public static void scrollToBottom ...

  5. ionic 上拉加载更多&瀑布流加载&滚动到底部加载更多 主意事项

    首先下拉刷新的代码是这样的,标红的地方为关键代码 <html> <head> <meta charset="utf-8"> <meta n ...

  6. Android中GridView滚动到底部加载数据终极版

    之前在项目中有一个需求是需要GridView控件,滚动到底部自动加载.但是呢GridView控件并不提供诸如ListView监听滚动到底部的onScrollListener方法,为了实现这样一个效果, ...

  7. Android 控制ScrollView滚动到底部

    scrollView.fullScroll(ScrollView.FOCUS_DOWN);滚动到底部 scrollView.fullScroll(ScrollView.FOCUS_UP);滚动到顶部 ...

  8. iOS scrollView/tableView滚动到底部

    //项目要求tableView滚动到底部就自动加载下一页,UITableView继承自UIScrollView 所以可以在//scrollViewDidEndDecelerating这个方法中进行判断 ...

  9. jquery让页面滚动到底部

    function scrollToEnd(){//滚动到底部 var h = $(document).height()-$(window).height(); $(document).scrollTo ...

随机推荐

  1. 可以ping通,但是不能connect

    实测有效的解决方法: 通过minicom串口连接板子: su stop adbd start adbd 如果再不行,就在终端输入 adb kill-server adb start-server 参考 ...

  2. mysql 注释

    mysql> SELECT 1+1; # This comment continues to the end of line mysql> SELECT 1+1; -- This comm ...

  3. swift 学习(三)(面向对象基础)

    面向对象的基本特征包括:封装,继承,多态 在swift中,类,结构,枚举都具有面向对象特性 但结构和枚举的实例不称为对象,因为结构和枚举不是彻底的面向对象类型,比如他们不能继承. 结构体 struct ...

  4. mysql-函数if多值多结果判断

    if语句 案例:同样统计男女生人数,语句如下: ,)) 男生数,,)) 女生数, ,,)) pass1,,,)) pass0, ,,)) state1,,,)) state0 FROM sch GRO ...

  5. mysql-异常

    1.Subquery returns more than 1 row 返回的集合应该是一条才能用,但你返回了多条.

  6. DOS命令行下mysql 基本命令

    第一招.mysql服务的启动和停止 net stop mysql net start mysql 第二招.登陆mysql 语法如下: mysql -u用户名 -p用户密码 键入命令mysql -uro ...

  7. HashMap Hashtable区别

    http://blog.csdn.net/java2000_net/archive/2008/06/05/2512510.aspx 我们先看2个类的定义 public class Hashtable ...

  8. selenium在Eclipse中打开fireFox浏览器是报报错connect to host 127.0.0.1 on port 7055

    1.相信很多同学刚接触selenium时,在Eclipse中打开fireFox浏览器是报报错: org.openqa.selenium.firefox.NotConnectedException: U ...

  9. eclipse下查看jdk源码

    打开eclipse,点 "window"-> "Preferences" -> "Java" -> "Insta ...

  10. Leetcode 416. Partition Equal Subset Sum

    Given a non-empty array containing only positive integers, find if the array can be partitioned into ...