2014-12-02 112 views
0

我在我的應用程序中遇到了一個奇怪的問題。從一個片段中,如果我按下一個按鈕,我開始新的FragmentActivity,其中包含一個片段和一些其他元素,但是如果我回到之前的Activity(包含啓動當前活動的片段),我需要按兩次按鈕。 首次fragmentActivity本身看起來很接近,但它再次重新打開。我一如既往關閉FragmentActivity:無法正確關閉FragmentActivity

@Override 
public void onBackPressed() { 
    super.onBackPressed(); 
      finish(); 
} 

所以怎麼了?

+0

我用於完成FragmentActivity與Fragment接口實現按鈕。你想要什麼時候寫代碼來寫評論。 – eurosecom 2014-12-02 15:57:37

回答

0

我開始包含片段和其他一些元素

你最有可能增加新的FragmentActivity是FragmentTransaction到堆棧中,這就是爲什麼它消耗後退按鈕按下。你根本不需要覆蓋onBackPressed()。相反,請查看將Fragment添加到新的FragmentActivity的代碼,並確保您在最初的交易中未調用.addToBackStack()。例如,通常在onCreate()你會這樣做:

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    if (savedInstanceState == null) { 
     getSupportFragmentManager().beginTransaction() 
       .add(R.id.your_container_id, new YourInitialFragment()) 
       .commit(); 
    } 
} 
+0

我沒有調用addToBackStack – giozh 2014-12-03 09:50:10