package Ġcom . de mon . core . lifecycle Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . util . Log Ċ import Ġandroidx . activity . result . contract . Activity Result Contracts Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . fragment . app . FragmentManager Ċ import Ġcom . de mon . core . De Mon Activity Result Ċ import Ġcom . de mon . core . lifecycle . De Mon Activity Callbacks . DE MON _ FRAGMENT _ KEY Ċ Ċ /** Ċ Ġ* Ġ@ author ĠDe Mon Ċ Ġ* ĠCreated Ġon Ġ 2 0 2 2 / 3 / 1 . Ċ Ġ* ĠE - mail Ġide mon _ li u @ qq . com Ċ Ġ* ĠDesc : Ċ Ġ*/ Ċ class ĠDe Mon Fragment Callbacks Ġ: ĠFragment Manager . Fragment Lifecycle Callbacks () Ġ{ ĊĠĠĠ Ġprivate Ġval ĠTAG Ġ= Ġ" De Mon Fragment Callbacks " ĊĠĠĠ Ġoverride Ġfun Ġon Fragment Attached ( fm : ĠFragment Manager , Ġfragment : ĠFragment , Ġcontext : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Fragment Attached ( fm , Ġfragment , Ġcontext ) ĊĠĠĠĠĠĠĠ Ġval Ġmap Key : ĠString Ġ= Ġfragment . java Class . simple Name Ġ+ ĠSystem . currentTimeMillis () ĊĠĠĠĠĠĠĠ ĠLog . i ( TAG , Ġ" on Fragment Attached : Ġmap Key =$ map Key ") ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= ĠDe Mon Activity Result ( fragment , ĠActivity Result Contracts . Start Activity For Result ()) ĊĠĠĠĠĠĠĠ Ġfragment . require Activity (). intent . putExtra ( DE MON _ FRAGMENT _ KEY , Ġmap Key ) ĊĠĠĠĠĠĠĠ ĠDe Mon Activity Callbacks . result Map [ map Key ] Ġ= Ġresult ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġon Fragment Detached ( fm : ĠFragment Manager , Ġfragment : ĠFragment ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Fragment Detached ( fm , Ġfragment ) ĊĠĠĠĠĠĠĠ Ġval Ġmap Key Ġ= Ġfragment . require Activity (). intent . getString Extra ( DE MON _ FRAGMENT _ KEY ) ĊĠĠĠĠĠĠĠ ĠLog . i ( TAG , Ġ" on Fragment Detached : Ġmap Key =$ map Key ") ĊĠĠĠĠĠĠĠ Ġif Ġ(! map Key . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDe Mon Activity Callbacks . result Map . remove ( map Key ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }