封裝BaseActivity,一行代碼實現(xiàn)加載狀態(tài)的更改

1 。創(chuàng)建BaseActivity。

之前遇到加載錯誤,空數(shù)據(jù),網(wǎng)絡(luò)錯誤,和加載中,我都是在當(dāng)前activity去隱藏和顯示對應(yīng)的布局,導(dǎo)致重復(fù)很多代碼。so, 必須封裝。

首先 布局,? 采用ViewStub ?對更種布局的添加 ,因為有的時候,這幾種布局不一定都需要展示出來,所以就用viewstub來加載優(yōu)化。 先看圖。


base_toobar_view ?考慮到有的時候toolbar 并不能滿足我們,所以這里就可以添加自定義的toolbar,這樣就不影響整體的更改

base_contentView 主要就是為了加載需要顯示的布局。

ok下面就開始看BaseActivity。



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

2. 加載狀態(tài)布局和顯示。


我會把加載的布局放在SparseArray中去,當(dāng)需要去顯示的時候就判斷集合中適合已經(jīng)有了這個布局,若沒有再通過viewstub去加載。 最后再顯示出來。當(dāng)然也少不了加載錯誤或者網(wǎng)絡(luò)錯誤的時候,需要重新加載,這里我直接寫個監(jiān)聽把方法拋出去。


?這個一樣放在BaseActivity。 這樣我們就在子Activity中直接調(diào)用方法。

子activity中引用就沒什么好說的了。


顯示布局


添加toobar
添加事件

看看動圖。。。 錄制屏幕了 裝不來gif 就不上傳了。 ?可以直接下載下來跑一下, github里面有debug包

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容