[英]How can I fix the back navigation with fragments?
我在實施后退導航時遇到問題。
活動A1
啟動活動A2
。 A2
包含一個全屏片段:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/fragment_container"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<!-- fragment goes here -->
</RelativeLayout>
在A2
的onCreate()
我將片段F1加載到上面的容器中:
@Override
protected void onCreate(Bundle arg0) {
super.onCreate(arg0);
setContentView(R.layout.activity_main);
replaceFragment(new AccountHomeFragment());
}
public void replaceFragment(Fragment f){
FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.fragment_container, f);
fragmentTransaction.addToBackStack(f.getClass().getSimpleName());
fragmentTransaction.commit();
}
並在某些時候用戶單擊按鈕, F1
被F2
代替。 問題是當用戶單擊后退按鈕時:
F2
轉到A1
(跳過F1
) 我期望什么
F2
> F1
F1
> A1
我注意到如果在F1替換為F2之前按回車:
F1
>黑屏 A1
我認為您的問題也可能是由於將您的第一個片段也添加到了堆棧中引起的。 在onCreate
,調用replaceFragment
會自動添加它。 只需手動添加片段而無需addToBackStack
調用,並對所有后續片段事務使用replaceFragment
函數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.