package Ġcom . wj x . android . mv vm . view Ċ Ċ import Ġandroid . text . TextUtils Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . databinding . ViewData Binding Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġcom . wj x . android . mv vm . view model . Base ViewModel Ċ import Ġcom . wj x . android . mv vm . common . state . State Ċ import Ġcom . wj x . android . mv vm . common . state . State Type Ċ Ċ /** Ċ Ġ* ĠCreated Ġwith ĠAndroid ĠStudio . Ċ Ġ* ĠDescription : Ċ Ġ* Ġ@ author : ĠWang jian x ian Ċ Ġ* Ġ@ Create Date : Ġ 2 0 2 0 / 6 / 8 Ġ 8 : 2 9 Ċ Ġ*/ Ċ abstract Ġclass ĠBase Life Cycle Activity < VM Ġ: ĠBase ViewModel <* >, ĠDB Ġ: ĠView Data Binding > Ġ: ĊĠĠĠ ĠBase Activity < VM , ĠDB >() Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġinit View () Ġ{ ĊĠĠĠĠĠĠĠ Ġshow Success () ĊĠĠĠĠĠĠĠ Ġm ViewModel . load State . observe ( this , Ġobserver ) ĊĠĠĠĠĠĠĠ Ġinit Data Observer () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġinit Data Observer () Ġ{} ĊĊĊĠĠĠ Ġopen Ġfun Ġshow Loading () Ġ{} ĊĊĠĠĠ Ġopen Ġfun Ġshow Success () Ġ{} ĊĊĠĠĠ Ġopen Ġfun Ġshow Error ( msg : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! TextUtils . isEmpty ( msg )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this , Ġmsg , ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġshow Empty () Ġ{} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠåĪĨ åıĳ åºĶçĶ¨ çĬ¶æĢģ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġval Ġobserver Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠObserver < State > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( it . code ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠState Type . SUCCESS Ġ-> Ġshow Success () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠState Type . LOADING Ġ-> Ġshow Loading () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠState Type . ERROR Ġ-> Ġshow Error (" ç½ĳç»ľ åĩºçİ° éĹ®é¢ĺ åķ ¦ ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠState Type . NETWORK _ ERROR Ġ-> Ġshow Error (" ç½ĳç»ľ åĩºçİ° éĹ®é¢ĺ åķ ¦ ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠState Type . EMPTY Ġ-> Ġshow Empty () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }