Android 原生下拉刷新SwipeRefreshLayout 与 RecycleLayout 使用
来源:互联网 发布:数据采集卡软件 编辑:程序博客网 时间:2024/06/08 01:49
XML 中配置:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@android:color/white" android:orientation="vertical"> <android.support.v4.widget.SwipeRefreshLayout android:id="@+id/refresh" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.v7.widget.RecyclerView android:id="@+id/recycleView" android:layout_width="match_parent" android:layout_height="match_parent"> </android.support.v7.widget.RecyclerView> </android.support.v4.widget.SwipeRefreshLayout></LinearLayout>
下面是代码的实现:private void initData(View view) { mDatas = new ArrayList<>(); for (int i = 0; i < 10; i++) { mDatas.add(i+""); } final Myadapter mAdapter=new Myadapter(); refreshLayout = view.findViewById(R.id.refresh); refreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { @Override public void onRefresh() { new Handler().postDelayed(new Runnable() { @Override public void run() { refreshLayout.setRefreshing(false); mDatas.add("15"); mAdapter.notifyDataSetChanged(); } },2000); } }); recycleView = (RecyclerView) view.findViewById(R.id.recycleView); recycleView.setLayoutManager(new LinearLayoutManager(getActivity())); recycleView.setAdapter(mAdapter); recycleView.addItemDecoration(new DividerItemDecoration(getActivity(), DividerItemDecoration.HORIZONTAL)); } class Myadapter extends RecyclerView.Adapter<HomeFragment.MyViewHolder>{ @Override public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { MyViewHolder holder = new MyViewHolder(LayoutInflater.from(getActivity()).inflate(R.layout.layout_item, parent, false)); return holder; } @Override public void onBindViewHolder(MyViewHolder holder, int position) { holder.tv.setText(mDatas.get(position)); } @Override public int getItemCount() { return mDatas.size(); } } class MyViewHolder extends RecyclerView.ViewHolder { TextView tv; public MyViewHolder(View itemView) { super(itemView); tv = (TextView) itemView.findViewById(R.id.tv); } }
需要注意的是recycleview 的adapter 中的泛型的使用。
很简单的几行代码就可以实现下拉刷新,效果也还不错。唯一的缺憾就是没有上拉加载。
需要注意的是recycleview 的adapter 中的泛型的使用。
很简单的几行代码就可以实现下拉刷新,效果也还不错。唯一的缺憾就是没有上拉加载。
阅读全文
0 0
- Android 原生下拉刷新SwipeRefreshLayout 与 RecycleLayout 使用
- Android原生下拉刷新SwipeRefreshLayout
- Android原生下拉刷新SwipeRefreshLayout实践
- android原生(Google)下拉刷新SwipeRefreshLayout
- 原生下拉刷新SwipeRefreshLayout的使用
- android使用SwipeRefreshLayout下拉刷新
- 下拉刷新——Android使用SwipeRefreshLayout简单实现下拉刷新与加载跟多
- Android 下拉刷新控件SwipeRefreshLayout 的使用
- 【Android】使用 SwipeRefreshLayout 实现下拉刷新
- Android SwipeRefreshLayout 下拉刷新组件的使用
- Android SwipeRefreshLayout 官方下拉刷新控件使用
- android 下拉刷新控件SwipeRefreshLayout简单使用
- 【Android】Webview 如何使用SwipeRefreshLayout下拉刷新
- Android-SwipeRefreshLayout下拉刷新控件使用
- Android 官方下拉刷新SwipeRefreshLayout使用
- Android下拉刷新-SwipeRefreshLayout
- Android下拉刷新SwipeRefreshLayout
- Android 下拉刷新SwipeRefreshLayout
- 京东面试-0.5像素的边框
- Zeppelin spark.executor.extraClassPath 和 --driver-class-path 配置冲突问题
- composer包开发
- HDU-5115-区间DP
- spring配置数据源的4种方式
- Android 原生下拉刷新SwipeRefreshLayout 与 RecycleLayout 使用
- ipcs ipcrm命令
- vue.js环境搭建
- 运行React Native源码中的例子
- Python: matplotlib模块 源码阅读&理解
- CF round#420 div.2 E Okabe and El Psy Kongroo【矩阵快速幂】
- android 埋点统计方案
- 在ios iPhone fixed 失效,固定在底部, 安卓可以 但是苹果不可以解决办法
- Java中获取路径的各种方法