android下拉刷新

拼搏现实的明天。 2022-06-14 05:28 381阅读 0赞

下拉刷新效果实现图:

Center

下拉刷新代码实现,xml部分代码:

Center 1

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:orientation="vertical" android:layout_width="match_parent"
  4. android:layout_height="match_parent">
  5. <com.handmark.pulltorefresh.library.PullToRefreshListView
  6. android:layout_width="match_parent"
  7. android:layout_height="match_parent"
  8. android:id="@+id/ptrlv_reflsh"
  9. >
  10. </com.handmark.pulltorefresh.library.PullToRefreshListView>
  11. </LinearLayout>
  12. java部分代码:
  13. package com.example.kongjian_06;
  14. import android.os.AsyncTask;
  15. import android.os.Bundle;
  16. import android.support.annotation.Nullable;
  17. import android.support.v7.app.AppCompatActivity;
  18. import android.view.View;
  19. import android.widget.AdapterView;
  20. import android.widget.ArrayAdapter;
  21. import android.widget.ListView;
  22. import android.widget.Toast;
  23. import com.handmark.pulltorefresh.library.PullToRefreshBase;
  24. import com.handmark.pulltorefresh.library.PullToRefreshListView;
  25. import java.lang.reflect.Array;
  26. import java.util.ArrayList;
  27. import java.util.List;
  28. /**
  29. * Created by Administrator on 2017/6/11.
  30. */
  31. public class PullToRefresh extends AppCompatActivity {
  32. private PullToRefreshListView ptrlv;
  33. private List<String> list;
  34. private ArrayAdapter aa;
  35. @Override
  36. protected void onCreate(@Nullable Bundle savedInstanceState) {
  37. super.onCreate(savedInstanceState);
  38. setContentView(R.layout.activity_pulltorefresh);
  39. ptrlv = (PullToRefreshListView) findViewById(R.id.ptrlv_reflsh);//获取PullToRefreshListView
  40. list = new ArrayList<>();//new一个集合
  41. for (int i = 0; i <10 ; i++) {
  42. list.add("haha"+i);//将数据填入集合中
  43. }
  44. aa = new ArrayAdapter(this,android.R.layout.simple_list_item_1,list);//new一个适配器
  45. ptrlv.setAdapter(aa);//给ptrlv设置适配器
  46. ptrlv.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
  47. @Override
  48. public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
  49. new MyTask().execute();//newMyTask并执行
  50. }
  51. @Override
  52. public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
  53. }
  54. });
  55. }
  56. class MyTask extends AsyncTask{
  57. @Override
  58. protected Object doInBackground(Object[] params) {
  59. for (int i = 0; i <3 ; i++) {
  60. list.add(0,"huohuo"+i);//将数据添加到数据最前面
  61. }
  62. return null;
  63. }
  64. @Override
  65. protected void onPostExecute(Object o) {
  66. super.onPostExecute(o);
  67. ptrlv.onRefreshComplete();
  68. aa.notifyDataSetChanged();//通知适配器发生改变
  69. }
  70. }
  71. }

发表评论

表情:
评论列表 (有 0 条评论,381人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Android ListView刷新

    ListView的重要性我就不多说了,下拉刷新的功能以前一直用的别人的,这两天参考一些资料自己写了个ListView下拉刷新的控件,自己会写才能掌握在自己手里,以后扩展什么的,