Android下拉刷新列表库PullToRefresh的使用
16lz
2022-07-28
实现效果:
添加依赖:
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(); } }); }}
更多相关文章
- mybatisplus的坑 insert标签insert into select无参数问题的解决
- python起点网月票榜字体反爬案例
- 《Android开发从零开始》——25.数据存储(4)
- Android系统配置数据库注释(settings.db)
- Android中不同应用间实现SharedPreferences数据共享
- android图表ichartjs
- Android内容提供者源码
- Android(安卓)下拉刷新,非常强大的下拉刷新功能
- android SharedPreferences