实现效果:

添加依赖:

implementation 'com.github.userswlwork:pull-to-refresh:1.0.0'

View布局:

<?xml version="1.0" encoding="utf-8"?>        

Control层代码:

public class MainActivity extends AppCompatActivity {    private PullToRefreshListView lv;    private ArrayAdapter adapter;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        lv=findViewById(R.id.lv);        List data=new ArrayList<>();//初始化数据集合        for (int i=0;i<6;i++) {            data.add("饥渴学院");            data.add("计算机科学与技术");            data.add("山东学院");            data.add("信息工程系");        }        //设置适配器        adapter=new ArrayAdapter<>(this,android.R.layout.simple_list_item_1,data);        lv.setAdapter(adapter);  //部署适配器        //列表的下拉刷新事件监听        lv.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener() {            @SuppressLint("StaticFieldLeak")            @Override            public void onRefresh(PullToRefreshBase pullToRefreshBase) {               //AsyncTask 实际上是一个帮助类,可以让我们很简单的从子线程切换到主线程,去更新UI界面                new AsyncTask() {                    //doInBackground这个方法所有代码都会在一个子线程中执行,所有的耗时任务都在这处理                    @Override                    protected Void doInBackground(Void... params) {                        try {                            Thread.sleep(3000);//刷新时间3秒                        } catch (InterruptedException e) {                            e.printStackTrace();                        }                        return null;                    }                    //主线程中修改UI数据,更新UI                    @Override                    protected void onPostExecute(Void aVoid) {                        super.onPostExecute(aVoid);                        //刷新之后添加的数据                        adapter.addAll("7704宿舍", "哈哈哈哈哈哈哈哈哈哈哈");                        Toast.makeText(MainActivity.this,"刷新成功",Toast.LENGTH_SHORT).show();                        //通知lv数据已经加载完                        lv.onRefreshComplete();                    }                }.execute();            }        });    }}

 

更多相关文章

  1. mybatisplus的坑 insert标签insert into select无参数问题的解决
  2. python起点网月票榜字体反爬案例
  3. 《Android开发从零开始》——25.数据存储(4)
  4. Android系统配置数据库注释(settings.db)
  5. Android中不同应用间实现SharedPreferences数据共享
  6. android图表ichartjs
  7. Android内容提供者源码
  8. Android(安卓)下拉刷新,非常强大的下拉刷新功能
  9. android SharedPreferences

随机推荐

  1. android java 代码设置 TextView drawabl
  2. android轮播图Banner的使用及详解
  3. 获取设备上所有系统app信息
  4. android实现滑动解锁
  5. Android(安卓)Bitmap 保存图片透明背景变
  6. Android(安卓)开机默认横竖屏
  7. Android指南针之加速度传感器地磁传感器-
  8. Android(安卓)中文 API 文档 (45) —— Abs
  9. Android设备双屏异显
  10. android scheme