एक्शन बार में मेनू विकल्प छुपाएं

मेरे पास 3 टुकड़े (टैब नहीं) के साथ एक गतिविधि है। मेरे पास कई एक्शन बार आइटम हैं और जब मैं एक निश्चित टुकड़ा मौजूद होता हूं तो मैं उन्हें छिपाना चाहता हूं। मैं इसके बारे में कैसे जा सकता हूं?

2
एक्शन बार आइटम दिखाना/छुपाएं; stackoverflow.com/questions/10692755/… उपयोगी ब्लॉग पोस्ट: android-er.blogspot.nl/2013/05/… यह जांचना कि क्या उपयोगकर्ता के लिए खंड दिखाई देता है: जोड़ा लेखक Mdlc, स्रोत

3 उत्तर

यदि आप सभी मेनू आइटम छिपाना चाहते हैं, तो बस करें:

@Override
public void onAttach(final Activity activity) {

    super.onAttach(activity);

    setHasOptionsMenu(true);
}

@Override
public void onPrepareOptionsMenu(final Menu menu) {

    super.onPrepareOptionsMenu(menu);

    menu.clear();//This removes all menu items (no need to know the id of each of them)
}
3
जोड़ा
@ 1111161171159459134 आप 'शून्य' फ़ंक्शन में गलत कैसे लौटते हैं?
जोड़ा लेखक zdd, स्रोत
@ 1111161171159459134, हमारे पास कुछ अंतर है, यह फ़ंक्शन गतिविधि में बूलियन लौटाता है लेकिन फ्रैगमेंट में शून्य लौटाता है, यह अंतर है।
जोड़ा लेखक zdd, स्रोत
इसके लिए +1! दरअसल, बस झूठी वापसी; को onPrepareOptionsMenu() के भीतर एकमात्र कथन के रूप में पूरे मेनू को हटा देता है।
जोड़ा लेखक 1111161171159459134, स्रोत
@zdd मुझे नहीं पता कि कैसे; तथ्य यह है कि झूठी वापसी; पूरे मेनू को हटा देता है! क्या तुमने कोशिश की?
जोड़ा लेखक 1111161171159459134, स्रोत
@Override
public void onPrepareOptionsMenu(Menu menu) {
    super.onPrepareOptionsMenu(menu);

    MenuItem item3  = menu.findItem(R.id.ID OF MENU);
    item3.setVisible(false);
}
3
जोड़ा
दो प्रश्न: 1.) क्या आप गतिविधि या टुकड़े में विधि का जिक्र कर रहे हैं? 2.) यह कुछ वस्तुओं के साथ अच्छी तरह से काम करता है लेकिन अगर मेरे पास कई चीजें हैं तो मुझे उन्हें झूठा सेट करना होगा और फिर उन्हें फिर से दिखाना होगा जब मुझे उनकी आवश्यकता होगी ..
जोड़ा लेखक AndroidEnthusiast, स्रोत
@AndroidEnthusiast मैं इसे खंड में संदर्भित कर रहा हूं, फिर मेनू आइटमों का समूह बना सकता हूं और समूह की दृश्यता टॉगल कर सकता हूं।
जोड़ा लेखक Nitin Misra, स्रोत

What i understand with your post is::

  1. आपके पास 3 टुकड़े हैं
  2. आपके पास 3 खंडों के लिए एक्शनबार बटन के 3 अलग-अलग सेट हैं

My preferred approach::You can also find the menu items which you dont want to display in your current fragment and set their visibility

MenuItem item = menu.findItem();
item.setVisible(<true/false>);

ex::

MenuItem item1 = menu.findItem(R.id.searchID);
item1.setVisible(false);

आप हैंडल करने के लिए एक अलग दृष्टिकोण के लिए इस पोस्ट का भी उपयोग कर सकते हैं यह समस्या


1
जोड़ा