首页 > 其他分享 >Android PullToRefresh上拉和下拉刷新

Android PullToRefresh上拉和下拉刷新

时间:2022-12-06 10:02:21浏览次数:63  
标签:PULL PullToRefresh mListView Mode 设置 刷新 Android public view


Github链接:

​https://github.com/chrisbanes/Android-PullToRefresh​

GUIDE:

​https://github.com/chrisbanes/Android-PullToRefresh/wiki/Quick-Start-Guide​

1. 设置Listview 
layout文件中定义PullToRefreshListView 

Xml代码


    1. <com.handmark.pulltorefresh.library.PullToRefreshListView
    2. android:id="@+id/list_view"
    3. android:layout_width="match_parent"
    4. android:layout_height="match_parent" />



    2. 设置Mode 

    1. PullToRefreshListView mListView = (PullToRefreshListView) findViewById(R.id.list_view);  
    2. mListView.setMode(Mode.BOTH);  


    可支持的Mode如下:


    • Mode.BOTH:同时支持上拉下拉
    • Mode.PULL_FROM_START:只支持下拉Pulling Down
    • Mode.PULL_FROM_END:只支持上拉Pulling Up

    3. 实现监听Listener

    如果Mode设置成Mode.BOTH,需要设置监听OnRefreshListener2,并实现onPullDownToRefresh()、onPullUpToRefresh()两个方法。 



    如果Mode设置成Mode.PULL_FROM_START或Mode.PULL_FROM_END,需要设置监听OnRefreshListener,同时实现onRefresh()方法。当然也可以设置为OnRefreshListener2,但是Mode.PULL_FROM_START的时候只调用onPullDownToRefresh()方法,Mode.PULL_FROM的时候只调用onPullUpToRefresh()方法。


    4. 具体代码如下:

    1. public class MainActivity extends
    2.
    3. private
    4. private
    5. private
    6.
    7. @Override
    8. protected void
    9. super.onCreate(savedInstanceState);
    10. setContentView(R.layout.sample);
    11.
    12. // 设置初期数据
    13. new
    14. for (int i = 1; i <= 10; i++) {
    15. "Item "
    16. }
    17.
    18. // 设置ListView
    19. mListView = (PullToRefreshListView) findViewById(R.id.list_view);
    20. new
    21. mListView.setAdapter(mAdapter);
    22.
    23. // 设置PullToRefresh
    24. mListView.setMode(Mode.BOTH);
    25. new
    26.
    27. // 下拉Pulling Down
    28. @Override
    29. public void
    30. // 下拉的时候数据重置
    31. new
    32. for (int i = 1; i <= 10; i++) {
    33. "Item "
    34. }
    35. mAdapter.notifyDataSetChanged();
    36.
    37. new
    38. }
    39.
    40. // 上拉Pulling Up
    41. @Override
    42. public void
    43. // 上拉的时候添加选项
    44. int
    45. "Item "
    46. mAdapter.notifyDataSetChanged();
    47.
    48. new
    49. }
    50.
    51. });
    52.
    53. }
    54.
    55. private class SampleListAdapter extends
    56.
    57. @Override
    58. public int
    59. return
    60. }
    61.
    62. @Override
    63. public Object getItem(int
    64. return
    65. }
    66.
    67. @Override
    68. public long getItemId(int
    69. return
    70. }
    71.
    72. @Override
    73. public View getView(int
    74. if(view == null){
    75. LayoutInflater inflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    76. null);
    77. }
    78. TextView textView = (TextView)view.findViewById(R.id.listItemText);
    79. textView.setText(mListItems.get(index));
    80. return
    81. }
    82. }
    83.
    84. private class FinishRefresh extends
    85. @Override
    86. protected
    87. return null;
    88. }
    89.
    90. @Override
    91. protected void
    92. mListView.onRefreshComplete();
    93. }
    94. }
    95. }

    标签:PULL,PullToRefresh,mListView,Mode,设置,刷新,Android,public,view
    From: https://blog.51cto.com/u_11407799/5914584

    相关文章

    • Android Widget 小部件(二) 使用configure
      在添加Widget之前需要做一些处理操作,可以使用 配置活动在​​上一篇​​的实现基础上,加上配置活动(configure=activity)。这时添加Widget时,会先打开一个Activity,进行配置操......
    • Android高仿网易新闻客户端之首页
      关于实现网易新闻客户端的界面,以前写过很多博客,请参考:​​Android实现网易新闻客户端效果​​​​Android实现网易新闻客户端侧滑菜单(一)​​​​Android实现网易新闻客户端......
    • Android高仿网易新闻客户端之侧滑菜单
      承接上一篇文章:​​Android高仿网易新闻客户端之动态添加标签​​,今天实现侧滑菜单的效果。关于侧滑菜单,有很多种实现方式:1.自定义ViewGroup请参考:​​Android实现网易新......
    • Android 自定义标题栏Title Bar
      在Android自定义标题栏,步骤很简单:1.在onCreate方法中声明如下代码:requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);setContentView(R.id.activity_main);getWindow().......
    • Vue项目部署后,刷新提示404
      本文来自博客园,作者:Carver-听风,转载请注明原文链接:https://www.cnblogs.com/carver/articles/16633191.html一、遇到的问题Vue项目打包部署到线上后,刷新页面会提示404......
    • 《“透视”个人大数据》项目开发小记 --(三)Android APP 开发(1)技术经验总结
         项目的AndroidAPP应用软件经过不断实践改进,技术上已逐渐成熟,这为进一步的提升及新项目的开发奠定了基础。开发过程中积累的一些技术和经验将渐次的与同行分享。......
    • android开发内存泄漏分析步骤总结
      思路:复现泄漏步骤,dumphprof文件,用MAT工具分析大对象的引用链。操作步骤:1、adbshell进入Android系统2、amdumpheap[进程名]/data/local/tmp/temp.hprof3、另起......
    • Android实现图片的倒影效果
      原理:原图和倒影图分解成两个Bitmap,倒影的Bitmap设计为原图的高度一半,宽度一致。然后创建一个可变空的Bitmap,宽度跟原图保持一致,宽度为原图的1.5倍(宽度包括原图和倒影图......
    • Android基础面试题
      1. 转屏时候Activity的生命周期1.1新建一个Activity,并把各个生命周期打印出来1.2运行Activity,得到如下信息onCreate-->onStart-->onResume-->1.3按crtl+f12切换成横屏......
    • Android实现水波纹外扩效果
      微信曾经推出了一个查找附近好友的功能,大致功能是这样的:屏幕上有一个按钮,长按按钮的时候,会有一圈圈水波纹的动画向外扩散,松手后,动画结束。现在简单来实现这样的一个动画功能......