我試圖找到類似於FragmentManager.peek()方法的東西。找出當前顯示的片段是什麼是最好的方法?
用例是我需要發送屏幕焦點到當前加載的片段。但是,我發現自己不得不手動跟蹤當前正在顯示的片段,以便我可以告訴它重點關注。
具體情況是,我有一個菜單,其中有一些按鈕。當用戶點擊一個按鈕時,我需要將焦點從按鈕轉移到當前加載的Fragment中的特定視圖 - 但我無法知道Fragment當前加載的是什麼,它可能是與菜單項關聯的初始片段,或者它可能是一個不同的片段完全用戶到達已經更深入地挖掘原有的片段......所以我的邏輯必須是
pseudo...
if(currentFragment == navButton.myFragmentType)
currentFragment.sendFocusToYourFirstRelevantElement()
else
navButton.loadMyFragmentType()
我的問題是,我不知道什麼是當前顯示的片段是,除非我手動跟蹤,但這真的很難看。
希望有更原生的解決方案。
謝謝...這是非常令人失望的。但是......看起來你是對的。我認爲您可能需要考慮修改您的其他答案,以利用Fragment onResume()來避開後退按鈕......在執行過程中,如果聽到Back可能會導致意外的結果。但是,從backstack回來時,onResume()可靠地調用片段......這是我的(醜陋的)解決方案atm。 – 2015-04-01 19:06:44
確實如此,onResume將始終被調用。謝謝! – athingunique 2015-04-01 19:16:37