2012-03-18 17 views
5

मैं एक शेरलॉकफैगमेंटक्टिविटी का उपयोग करता हूं जिसमें व्यूपेजर, दो फ्रैगमेंट और एक्शनबार दो टैब प्रदर्शित करता है। मैं टुकड़ा से कार्रवाई आइटम पॉप्युलेट लेकिन मैं टुकड़ा प्रदर्शन Actionbar MenuItem से क्रम में विधिएक्शनआईटम स्क्रीन रोटेशन पर खो गया

setHasOptionsMenu(true); 

कॉल करनी होगी। लेकिन जब स्क्रीन ओरिएंशन बदलता है, तो मेनू इटैम्स प्रदर्शित नहीं होते हैं।

public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { 
    super.onCreateOptionsMenu(menu, inflater); 
    menu.add(R.string.action_refresh).setIcon(R.drawable.ic_menu_refresh) 
      .setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() { 

       public boolean onMenuItemClick(MenuItem item) { 
        refresh(); 
        return false; 
       } 
      }).setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_IF_ROOM); 
    menu.add(R.string.action_add_a_file).setIcon(R.drawable.ic_menu_upload) 
      .setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_IF_ROOM); 
    menu.add(R.string.action_settings).setIcon(android.R.drawable.ic_menu_preferences) 
      .setIntent(new Intent(getSherlockActivity(), SettingsActivity.class)) 
      .setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_NEVER | MenuItem.SHOW_AS_ACTION_WITH_TEXT); 

} 

वहाँ एक रास्ता ठीक से एक SherlockFragment से कार्रवाई बार करने के लिए आइटम जोड़ने के लिए है और मैं कैसे के बाद ActionBar में इन आइटम रख सकते हैं:

यहाँ मेरा पहला टुकड़ा में एक विकल्प मेनू बनाने के लिए मेरी कोड है स्क्रीन अभिविन्यास परिवर्तन?

+2

मुझे नहीं पता कि यह सबसे अच्छा समाधान है, लेकिन चूंकि मेरे पास एक निश्चित निश्चित संख्या है, इसलिए मैं उन्हें अपने शेरलॉक एक्टिविटी पर 'ऑनक्रेट' विधि में तत्काल करता हूं और अस्थिरता के बाद कॉल करता हूं: 'अवैध ऑप्शनमेनू(); फिर मेरे टुकड़ों की 'एक्टिविटी क्रिएटेड' विधि, मुझे वहां क्या करना है, इसके बाद मैं 'setHasOptionsMenu (true)' कहता हूं। इस प्रकार स्क्रीन एक्शन के बाद भी मेरे एक्शन इटम्स प्रत्येक खंड के लिए प्रदर्शित होते हैं। – Kowlown

उत्तर

0

manifeast फ़ाइल में अपने FragmentActivity में लाइन निम्नलिखित ऐड android:configChanges="orientation"

अभिविन्यास स्वचालित रूप से प्रणाली से ही नियंत्रित किया जाता है। लेकिन मुझे मौसम नहीं पता यह एक प्रभावी तरीका है या नहीं।

+0

+1। इसका काम धन्यवाद .. –

+0

'एंड्रॉइड का उपयोग कर: configChanges =" ओरिएंटेशन "' है [अनुशंसित नहीं]] (http://www.androiddesignpatterns.com/2013/04/retaining-objects-across-config-changes.html#bad -practice-बनाए रखने-गतिविधि) – matoni

संबंधित मुद्दे