重构封装SwipeRefreshLayout,实现同业务多页面复用,提高开发和维护效率

重构封装SwipeRefreshLayout,实现同业务多页面复用,提高开发和维护效率, 让开发变得更简洁方便,让维护变得省心省时。直接上代码。1. MySwipeRefreshLayout.class/** * @Author: rhj * @CreateDate: 2021/1/13 19:19 * @Version: 1.0.0 * @Description: 自定义刷新控件 */public class MySwipeRefreshLayout { priv
摘要由CSDN通过智能技术生成

重构封装SwipeRefreshLayout,实现同业务多页面复用,提高开发和维护效率, 让开发变得更简洁方便,让维护变得省心省时。

直接上代码。

1. MySwipeRefreshLayout.class
/**
 * @Author: rhj
 * @CreateDate: 2021/1/13 19:19
 * @Version: 1.0.0
 * @Description:  自定义刷新控件
 */
public class MySwipeRefreshLayout   {
    private String TAG = MySwipeRefreshLayout.class.getSimpleName();
    private WeakReference<AppCompatActivity> weakReference;
    private SwipeRefreshLayout mSwipeRefreshLayout;
    private MyRefreshInterface mMyRefreshInterface;


    public void initMySwipeRefreshLayout(AppCompatActivity activity , int viewId){
        if (activity == null){
            return;
        }
        weakReference = new WeakReference<>(activity);
//        setContextView(weakReference.get());
        mSwipeRefreshLayout = weakReference.get().findViewById(viewId);
        initSwipeRefreshLayout();
    }

    public void initMySwipeRefreshLayout(AppCompatActivity activity , SwipeRefreshLayout swipeRefreshLayout){
        if (activity == null){
            return;
        }
        weakReference = new WeakReference<>(activity);
//        setContextView(weakReference.get());
        mSwipeRefreshLayout = swipeRefreshLayout;
        initSwipeRefreshLayout();
    }


    private void initSwipeRefreshLayout() {
        if (mSwipeRefreshLayout == null){
            return;
        }
        // 设置下拉进度的背景颜色,默认就是白色的
        mSwipeRefreshLayout.setProgressBackgroundColorSchemeResource(android.R.color.white);
        // 设置下拉进度的主题颜色
        mSwipeRefreshLayout.setColorSchemeResources(R.color.purple_200, R.color.purple_700, R.color.teal_700);
//        mSwipeRefreshLayout.setColorSchemeResources(R.color.colorAccent, R.color.colorPrimary, R.color.colorPrimaryDark);
        mSwipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
            @Override
            public void onRefresh() {
                Log.e(TAG,  "刷新数据 --------------------------------------- "); 
                if (mMyRefreshInterface != null) {
                    mMyRefreshInterface.onRefresh();
                }
                new Handler().postDelayed(new Runnable() {
                    //                new Handler(Objects.requireNonNull(Looper.myLooper())).postDelayed(new Runnable() {
                    @Override
                    public void run() {
                        mSwipeRefreshLayout.setRefreshing(false); 
                        if (mMyRefreshInterface != null) {
                            mMyRefreshInterface.setRefreshing(false);
                        }
                    }
                }, 2000);
            }
        });
    }

    public void setRefreshing(boolean b){ 
        if (mSwipeRefreshLayout != null) {
            mSwipeRefreshLayout.setRefreshing(b);
        }
        if (mMyRefreshInterface != null) {
            mMyRefreshInterface.setRefreshing(b);
        }
    }

    public void setmMyRefreshInterface(MyRefreshInterface mMyRefreshInterface) {
        this.mMyRefreshInterface = mMyRefreshInterface;
    }
}

 

2. 

MainActivityA.class
/**
 * @Author: rhj
 * @CreateDate: 2021/1/19 9:44
 * @Version: 1.0.0
 * @Description:
 */
public class MainActivityA extends AppCompatActivity {
    private String TAG = MainActivityA.class.getS
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yayayaiii

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值