9
- 活動1可見。按一個按鈕,並打開活動2。
- 活動2增加了片段A到自身(和背面疊層),它顯示優良
- 按下片段轉變內的按鈕到另一個片段,B
- 按返回。什麼都沒發生。咦?後面的印刷機看起來被吸收了而沒有起作用,顯示器仍然保持不變。
- 第二次按回來,它恢復到活動1,如預期。
爲什麼我的片段不能在步驟4中顯示?我已經將片段添加到後端堆棧,爲什麼(當後退按鈕似乎意識到它的存在時)它不會顯示片段?爲什麼Fragment.addToBackStack()導致後退按鈕不執行任何操作?
下面的代碼我使用的活動2打開片段A.
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.act_profile_edit);
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.setCustomAnimations(android.R.anim.slide_in_left, android.R.anim.slide_out_right);
transaction.addToBackStack(null);
transaction.add(android.R.id.content, new MyFragment());
transaction.commit();
}
而這裏的開片段B
FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.setCustomAnimations(android.R.anim.slide_in_left, android.R.anim.slide_out_right);
transaction.add(android.R.id.content, new MyOtherFragment());
transaction.commit();
這沒有幫助。如果我最初使用替換(而不是添加),則不需要替換片段,因此我期望它的行爲相同。如果我使用替換來顯示片段B,它會覆蓋我想讓人們使用的那個Back返回,所以這沒有幫助。 –
好吧,這兩個片段屬於不同的幀? –
和你放置片段B的代碼是什麼? –