2013-04-25 102 views
0

我有一個應用程序與3個選項卡。兩個theese選項卡我有,我改變了新的與此代碼的當前片段按鈕:問題與片段之間的後退按鈕(backstack)

MapFragment newFragment = new JourneyMapFragment(mContext, getFromDestinationCoordinate(), getToDestinationCoordinate()); 
       android.app.FragmentTransaction transaction = getFragmentManager().beginTransaction(); 
       transaction.setCustomAnimations(android.R.animator.fade_in, 
         android.R.animator.fade_out); 

       // Replace whatever is in the fragment_container view with this fragment, 
       // and add the transaction to the back stack 
       transaction.replace(R.id.fragment_container, newFragment); 
       transaction.addToBackStack(null); 

       if(newFragment.isHidden()){ 
        transaction.show(newFragment); 
       } 

       transaction.commit(); 

有關這是一個正常的片段選項卡,改變成地圖片段後退按鈕需要我回到沒有issuse的原始片段。

但是,當按下後退按鈕時,另一個是mapfragment的選項卡,更改爲普通片段並不會給我同樣的操作。當它被按下時,它將視圖更改爲白色/黑色視圖。

這是在選項卡中的交易代碼在後退按鈕將無法正常工作:

     Fragment newFragment = new CloseBusStopFragment(mContext, busStopList, getMyPosition()); 
         android.app.FragmentTransaction transaction = getFragmentManager().beginTransaction(); 
         transaction.setCustomAnimations(android.R.animator.fade_in, 
           android.R.animator.fade_out); 

         // Replace whatever is in the fragment_container view with this fragment, 
         // and add the transaction to the back stack 
         transaction.replace(R.id.fragment_container, newFragment); 


transaction.addToBackStack(null); 

        if(newFragment.isHidden()){ 
         transaction.show(newFragment); 
        } 
         // Commit the transaction 
         transaction.commit(); 

任何人都知道爲什麼會這樣?任何幫助?

+0

我不確定我是否理解。但我認爲你正在將第一個片段事務添加到後臺堆棧中。 – nicous 2013-04-25 12:31:58

+0

發佈了後退按鈕不起作用的片段的事務代碼。我不知道。看起來和我完全一樣...... – Maggie 2013-04-25 13:01:07

回答

0

如果您可以手動執行此操作,則可以嘗試覆蓋onBackPressed()並手動執行任何操作。

​​
+0

我已經添加了一個沒有運氣。 我只是試圖刪除我想要「回到」的片段中的地圖,然後後退按鈕完美地工作。所以那裏肯定有問題 – Maggie 2013-04-25 13:06:07