package Ġcom . gy t . eye pet izer . base Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġcom . gy t . eye pet izer . widget . Multi State View Ċ Ċ /** Ċ Ġ* Ġ@ author Ġg yt Ċ Ġ* Ġ@ date Ġon Ġ 2 0 1 9 / 1 / 2 1 Ġ 2 : 4 5 ĠPM Ċ Ġ* Ġ@ de scriber ĠTODO Ċ Ġ*/ Ċ Ċ @ Suppress Lint (" Valid Fragment ") Ċ abstract Ġclass ĠBase Fragment Ġ: ĠFragment (){ ĊĠĠĠ Ġprivate Ġvar Ġm Multi State View : ĠMulti State View ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġm Is VisibleTo User Ġ= Ġfalse ĊĠĠĠ Ġprivate Ġvar Ġm Is First Load Ġ= Ġtrue ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġinflater . inflate ( get Layout Id (), Ġcontainer , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ Ġint View () ĊĠĠĠĠĠĠĠ Ġset On Retry ClickListener () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset On Retry ClickListener () Ġ{ ĊĠĠĠĠĠĠĠ Ġm Multi State View ?. getView ( Multi State View . VIEW _ STATE _ ERROR )?. setOnClickListener Ġ{ Ġretry Request () Ġ} ĊĠĠĠĠĠĠĠ Ġm Multi State View ?. getView ( Multi State View . VIEW _ STATE _ NO _ NETWORK )?. setOnClickListener Ġ{ Ġretry Request () Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ éħį åĲĪ view Pager ä½¿çĶ¨ ï¼Į è°ĥçĶ¨ setUser Visible Hint ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun ĠsetUser Visible Hint ( isVisible To User : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . setUser Visible Hint ( isVisible To User ) ĊĠĠĠĠĠĠĠ Ġif ( lazy Load Mode ()){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( isVisible To User ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Is VisibleTo User Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Visible () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} else { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Is VisibleTo User Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġå¦Ĥæŀľ æĺ¯ éĢļè¿ĩ Fragment Transaction çļĦ show åĴĮ hide çļĦæĸ¹æ³ķ æĿ¥ æİ§åĪ¶ æĺ¾ç¤º ï¼Į è°ĥçĶ¨ çļĦæĺ¯ on Hidden Changed . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġon Hidden Changed ( hidden : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Hidden Changed ( hidden ) ĊĠĠĠĠĠĠĠ Ġif ( lazy Load Mode ()){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif (! hidden ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Is VisibleTo User Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Visible () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} else { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Is VisibleTo User Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġon Visible () Ġ{ ĊĠĠĠĠĠĠĠ Ġif ( m Is VisibleTo User Ġ&& Ġm Is First Load ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Is First Load Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlazy Load View And Event () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġlazy Load View And Event () Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġkotlin ä¸Ń protected ä¸įèĥ½ ä¿® é¥ ° class ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġopen Ġfun Ġlazy Load Mode (): ĠBoolean { ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy View () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy View () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġabstract Ġfun Ġget Layout Id (): ĠInt ĊĊĠĠĠ Ġabstract Ġfun Ġint View () ĊĊĠĠĠ Ġabstract Ġfun Ġretry Request () Ċ }