5

मुझे एक एक्शनबार और एक्शनबार टैब के साथ एक गतिविधि मिली है। जब मैं टैब की सामग्री से कोई आइटम चुनता हूं, तो मैं मौजूदा खंड को एक नए से बदलने की कोशिश कर रहा हूं, बैक स्टैक पर लेनदेन जोड़ सकता हूं, और टैब को छुपा सकता हूं।कार्रवाई छुपाएं नेविगेशन मोड के साथ टैब टैब प्रतिकृति रूप से खंडित बैकस्टैक को प्रभावित करते हैं

मैं मानक बार एक्शन बार नेविगेशन मोड को बदलकर टैब छुपाता हूं।

समस्या यह है कि जब मैं बैक बटन दबाता हूं, तो मुझे केवल एक्शन बार (मानक मोड में) के साथ एक खाली दृश्य मिलता है .. खंड लेनदेन को उलट नहीं किया जाता है।

मैं मानक के लिए नेविगेशन मोड बदलकर टैब को छिपाने के नहीं है, तो लेन-देन उलट ठीक काम करता है ..

मैं वापस प्रेस अधिभावी नेविगेशन मोड में वापस टैब के लिए बदलने की कोशिश की है, लेकिन यह काम नहीं करता

क्या कोई मुझे बता सकता है कि वे इसे कैसे प्राप्त करेंगे?

यहाँ कोड जहां टैब छिपा हुआ हो जाता है और टुकड़ा लेन-देन होता है:

 ActionBar actionBar = getActivity().getActionBar(); 
     actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD); 

     Fragment albumListFragment = new AlbumListFragment(); 
     albumListFragment.setArguments(bundle); 
     FragmentTransaction ft = getFragmentManager().beginTransaction(); 

     ft.replace(android.R.id.content, albumListFragment); 
     ft.addToBackStack(null); 

     // Commit the transaction 
     ft.commit(); 

स्पष्टता के लिए: मैं उम्मीद होती है कि वापस दबाने के बाद इस सौदे के लिए प्रतिबद्ध किया गया है, टैब वापस दृश्य में आएगा पिछले खंड के साथ। इस समय वापस दबाए जाने के बाद यह टैब या टुकड़ा नहीं दिखा रहा है।

उत्तर

8

यह सुनिश्चित नहीं है कि यह प्रश्न अभी भी प्रासंगिक है या नहीं, लेकिन मुझे लगता है कि टुकड़े संक्रमण के बाद टैब को छिपाने के लिए अच्छी किस्मत है।

मेरी सूची फ्रैगमेंट से, मैं एक मानक खंड संक्रमण करता हूं जो आप इसे अपने कोड में कैसे कर रहे हैं।

मेरी विस्तार टुकड़ा में, हालांकि, मैं onCreate विधि में कार्रवाई बार छिपाने:

@Override 
public void onCreate(Bundle savedInstanceState) { 

    super.onCreate(savedInstanceState); 
    ActionBar actionBar = getActivity().getActionBar(); 
    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD); 

} 

और मेरे onPause विधि में फिर से दिखाई देते हैं:

public void onPause() { 

    super.onPause(); 

    ActionBar actionBar = getActivity().getActionBar(); 
    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 

}