android:Activity中切换不同状态页:加载中,加载失败,数据页,空页面……

本文介绍了一种高效的方法来处理APP页面的不同显示状态,通过使用VaryViewHelper工具,开发者可以在饿了么、美团外卖等应用中实现页面状态的动态切换,简化代码,提高复用性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

现在主流的APP上,一个页面都会有好几种显示状态,一开始,我是将这些都放在xml中,然后显示隐藏来实现的,但很麻烦,复用也不方便。
介绍一个方法工具,效果如饿了么,美团外卖等:

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);//放数据的父布局
        mVaryViewHelper = new VaryViewHelper.Builder()
                .setDataView(findViewById(R.id.vary_content))//放数据的父布局,逻辑处理在该Activity中处理
                .setLoadingView(LayoutInflater.from(this).inflate(R.layout.layout_loadingview, null))//加载页,无实际逻辑处理
                .setEmptyView(LayoutInflater.from(this).inflate(R.layout.layout_emptyview, null))//空页面,无实际逻辑处理
                .setErrorView(LayoutInflater.from(this).inflate(R.layout.layout_errorview, null))//错误页面
                .setRefreshListener(new ErrorClickListener())//错误页点击刷新实现
                .build();

    }

显示不同的页面,分别调用

                mVaryViewHelper.showDataView();

                mVaryViewHelper.showEmptyView();

                mVaryViewHelper.showErrorView();

                mVaryViewHelper.showLoadingView();

复用:
思路:将第一步的初始化方法写在BaseActivity中

引用的类库我之后上传到csdn中,欢迎下载
http://download.youkuaiyun.com/detail/u012764110/9483724

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值