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

2017-04-27  本文已影响0人  清汤白面

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 

上一篇下一篇

猜你喜欢

热点阅读