封装BaseActivity,一行代码实现加载状态的更改

1 。创建BaseActivity。

之前遇到加载错误,空数据,网络错误,和加载中,我都是在当前activity去隐藏和显示对应的布局,导致重复很多代码。so, 必须封装。

首先 布局,  采用ViewStub  对更种布局的添加 ,因为有的时候,这几种布局不一定都需要展示出来,所以就用viewstub来加载优化。 先看图。


base_toobar_view  考虑到有的时候toolbar 并不能满足我们,所以这里就可以添加自定义的toolbar,这样就不影响整体的更改

base_contentView 主要就是为了加载需要显示的布局。

ok下面就开始看BaseActivity。



getLayoutInflater().inflate(layoutResID, null, false); 和getLayoutInflater().inflate(getToobarId(), null, false); 来加载布局和toobar ,然后添加到BaseView中去。

2. 加载状态布局和显示。


我会把加载的布局放在SparseArray中去,当需要去显示的时候就判断集合中适合已经有了这个布局,若没有再通过viewstub去加载。 最后再显示出来。当然也少不了加载错误或者网络错误的时候,需要重新加载,这里我直接写个监听把方法抛出去。


 这个一样放在BaseActivity。 这样我们就在子Activity中直接调用方法。

子activity中引用就没什么好说的了。


显示布局


添加toobar
添加事件

看看动图。。。 录制屏幕了 装不来gif 就不上传了。  可以直接下载下来跑一下, github里面有debug包

github 地址 :https://github.com/CQBOBOZHU/BaseState 

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容