package Ġme . px q . framework . ui . view Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics . drawable . Drawable Ċ import Ġandroid . util . Attribute Set Ċ import Ġcom . google . android . material . bottomnavigation . Bottom Navigation View Ċ Ċ /** Ċ Ġ* ĠDescription : Ġ èĩªå®ļä¹ī B NV æĿ¥ ä¿®æĶ¹ éĢī ä¸Ń åĽ¾ æłĩ Ċ Ġ* Ġ< p > Ċ Ġ* ĠĠĠĠ ĠçĶ¨ æ³ķ ï¼ļ Ċ Ġ* ĠĠĠĠĠ 1 ãĢģ set Check Icons ( map ) Ċ Ġ* ĠĠĠĠĠ 2 ãĢģ setSelected ItemId ( id ) Ċ Ġ* Ġ</ p > Ċ Ġ* ĠAuthor Ġ: Ġpx q Ċ Ġ* ĠDate Ġ: Ġ 2 0 2 0 / 7 / 2 6 Ġ 5 : 3 2 ĠPM Ċ Ġ* Ġ@ see ĠBottom Navigation View Ċ Ġ*/ Ċ class ĠE ye Bottom Nav View ( context : ĠContext , Ġattribute Set : ĠAttributeSet ? Ġ= Ġnull ) Ġ: ĊĠĠĠ ĠBottom Navigation View ( context , Ġattribute Set ) Ġ{ ĊĊĠĠĠ Ġ// ä¿ĿåŃĺ itemId åĴĮ åĢĻ éĢī åĽ¾çīĩ çļĦ map ĊĠĠĠ Ġvar Ġcandidate Icons : ĠMutable Map < Int , ĠDrawable >? Ġ= Ġnull ĊĊĠĠĠ Ġ// ä¸Ĭ æ¬¡ éĢī ä¸ŃçļĦ itemId ĊĠĠĠ Ġvar Ġold ItemId : ĠInt Ġ= Ġ- 1 ĊĊĠĠĠ Ġoverride Ġfun ĠsetSelected ItemId ( itemId : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . setSelected ItemId ( itemId ) ĊĠĠĠĠĠĠĠ Ġ// ä¿®æĶ¹ éĢī ä¸Ń çĬ¶æĢģ ĊĠĠĠĠĠĠĠ Ġset Checked Icon ( itemId ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġä¿®æĶ¹ éĢī ä¸Ń çĬ¶æĢģ ä¸º [ itemId ] ï¼Į åĲĮæĹ¶ åıĸæ¶Ī [ old ItemId ] çļĦ éĢī ä¸Ń çĬ¶æĢģ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset Checked Icon ( itemId : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// éĩįå¤į éĢī ä¸Ń ä¸į å¤ĦçĲĨ ĊĠĠĠĠĠĠĠ Ġif Ġ( itemId Ġ== Ġold ItemId ) Ġreturn ĊĠĠĠĠĠĠĠ Ġ// ä¿®æĶ¹ éĢī ä¸Ń åĽ¾ æłĩ ĊĠĠĠĠĠĠĠ Ġ// åıĸæ¶Ī ä¸Ĭ æ¬¡ éĢī ä¸ŃçļĦ åĽ¾ æłĩ ĊĠĠĠĠĠĠĠ Ġif Ġ( old ItemId Ġ!= Ġ- 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġswitch Icon ( old ItemId ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// æĺ¾ç¤º æĸ°çļĦ éĢī ä¸Ń ĊĠĠĠĠĠĠĠ Ġswitch Icon ( itemId ) ĊĠĠĠĠĠĠĠ Ġ// ä¿ĿåŃĺ éĢī ä¸Ń çĬ¶æĢģ ĊĠĠĠĠĠĠĠ Ġold ItemId Ġ= ĠitemId ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġæł¹æį® [ itemId ] è®¾ç½® éĢī ä¸ŃçļĦ åĽ¾ æłĩ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġswitch Icon ( itemId : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcandidate Icons Ġ?: Ġreturn ĊĠĠĠĠĠĠĠ Ġ// äº¤ æį¢ æŃ£åľ¨ æĺ¾ç¤º çļĦ åĽ¾çīĩ åĴĮ åĢĻ éĢī åĽ¾çīĩ ĊĠĠĠĠĠĠĠ Ġval Ġdrawable Ġ= Ġcandidate Icons ! ![ itemId ] ĊĠĠĠĠĠĠĠ Ġval Ġmenu Item Ġ= Ġmenu . find Item ( itemId ) ĊĠĠĠĠĠĠĠ Ġcandidate Icons ! ![ itemId ] Ġ= Ġmenu Item . icon ĊĠĠĠĠĠĠĠ Ġmenu Item . icon Ġ= Ġdrawable ĊĠĠĠ Ġ} Ċ Ċ }