0
我有兩個片段在活動上共享相同的點。當活動開始時,顯示fragA
。當你點擊一個按鈕從fragA
它被推到backstack並由fragB
取代。當按下fragB
的按鈕時,fragB
被銷燬,fragA
被從後臺堆棧中移除,但它也應該根據fragB被按下的按鈕(例如爲textview設置文本)更改一些視圖。我使用接口進行片段活動通信。一切順利,但fragA的觀點不想改變。我想我試圖改變他們,而片段是在後臺。片段在後臺時是否可以修改片段的視圖?
@Override
public void onFragBClick(Bundle bundle) {
FragmentManager fragmentManager = getSupportFragmentManager();
fragA = (FragA) fragmentManager.findFragmentByTag(TAG_FRAG_A);
if (fragA != null) {
fragmentManager.popBackStack(TAG_FRAG_A_BACKSTACK,
FragmentManager.POP_BACK_STACK_INCLUSIVE);
fragA.onFragBSignalReceived(bundle);
}
}
這是處理通信的方法。在日誌中一切似乎都很好,onFragBSignalReceived
被調用,但我無法改變fragA
的意見。我的猜測是,當它被稱爲fragA
仍然在背後,這就是爲什麼意見不更新。在那種情況下,我怎樣才能以其他方式實現這種行爲?
哦,那就是訣竅!謝謝! – Jelly