我使用與viewpager tabactivity一個活動和連接fragmentA.when我想移動fragmentB,取代fragmentB與目前fragmentA.I需要找到onbackpress解決方案在FragmentB中刷新fragmentA不會改變Backstack,因爲我在一個選項卡中使用了近十個片段。如何刷新背部按以前的片段,而不會干擾後面堆
是否有片段生命週期的任何方法
我使用與viewpager tabactivity一個活動和連接fragmentA.when我想移動fragmentB,取代fragmentB與目前fragmentA.I需要找到onbackpress解決方案在FragmentB中刷新fragmentA不會改變Backstack,因爲我在一個選項卡中使用了近十個片段。如何刷新背部按以前的片段,而不會干擾後面堆
是否有片段生命週期的任何方法
覆蓋onBackPressed()
方法Activity
,在堆棧中添加所有fragment
。
@Override
public void onBackPressed() {
FragmentManager manager =getFragmentManager();
int count = manager.getBackStackEntryCount();
if (count == 0) {
super.onBackPressed();
} else {
manager.popBackStack();
}
}
@Emzoz可以給你提示如何在onBackPressed()的後臺添加片段 – Teekam
當片段B,歷時片段A,片段A是的onPause()。在後壓後,片段A是onResume()。所以你可以創建一個布爾值來觀察這個變化。
在片段A
private boolean isBackFromB;
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
isBackFromB=false;
}
@Override
public void onPause() {
super.onPause();
isBackFromB = true;
}
@Override
public void onResume() {
super.onResume();
updateUI();
if (isBackFromB) //Do something
}
能詳細闡述,因爲這個問題我也不清楚。 – himanshu1496
在我的應用程序使用一個活動增加了一個片段包含三個選項卡,在第一個選項卡更換近5個片段,當我在第5段,我想刷新第四片段不改變後退堆棧,因爲當我們回到按下4片段它shouls重定向到在我上面的問題第三片段 我提到父母的活動,但它是一個活動,然後我加了一個片段,有三個選項卡 – user5466222
我需要處理onbackpress在片段 – user5466222