2012-04-23 10 views
19

के साथ एक्शनबार में एक बटन जोड़ना मैं शेरलॉकएक्शनबार में एक बटन जोड़ने की कोशिश कर रहा हूं लेकिन मैं इसे काम नहीं कर सकता।ActionBarSherlock

@Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     android.view.MenuInflater inflater = getMenuInflater(); 
     inflater.inflate(R.menu.menu, (android.view.Menu) menu); 
     return super.onCreateOptionsMenu(menu); 
    } 

यह मेरा menu.xml कोड है::

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:id="@+id/save_button" 
      android:title="i" 
      android:showAsAction="always" /> 
</menu> 

यह काम नहीं करता है, भले ही के रूप में मैं मेनू बटन दबाते हैं, कुछ भी नहीं दिखाई देता है

यह है कि मेरे पास है कोड है । क्या कोई अन्य तरीका है? क्या मैं कोई गलती कर रहा हूँ?

उत्तर

38

आप Android के मेनू और MenuInflater उपयोग कर रहे हैं, लेकिन कक्षाओं कि ActionBarSherlock के साथ आते हैं का उपयोग करना चाहिए:

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    com.actionbarsherlock.view.MenuInflater inflater = getSupportMenuInflater(); 
    inflater.inflate(R.menu.menu, (com.actionbarsherlock.view.Menu) menu); 
    return super.onCreateOptionsMenu(menu); 
} 

ऐसा लगता है कि आप दो अभी एकदूसरे कर रहे हैं। सुनिश्चित करें कि आप केवल com.actionbarsherlock.view.Menu और com.actionbarsherlock.view.MenuInflater आयात करते हैं, न कि इसके एंड्रॉइड समकक्ष। मैं आपको निम्न की तरह कुछ करने की सलाह देता हूं:

import com.actionbarsherlock.view.Menu; 
import com.actionbarsherlock.view.MenuInflater; 

... 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     MenuInflater inflater = getSupportMenuInflater(); 
     inflater.inflate(R.menu.menu, menu); 
     return super.onCreateOptionsMenu(menu); 
    } 
+0

यह शानदार रूप से काम करता है, लेकिन क्या आवेदन में मेरी सभी गतिविधियों और टुकड़ों में बटन रखना संभव है? – noloman

+0

हां। उपरोक्त ऑनक्रेटऑप्शनमेनू (...) वाली मूल गतिविधि बनाएं। इसके बाद उन गतिविधियों में इस गतिविधि का विस्तार करें जहां आप एक्शनबार को दिखाना चाहते हैं। – hanspeide

+0

महान समाधान के लिए धन्यवाद !! – ASP

19

मुझे menu.xml में लगता है। आपका आइटम एंड्रॉइड घोषित नहीं करता है: showAsAction विशेषता पूरी तरह से। आप इस तरह यह घोषित करना चाहिए:

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:id="@+id/save_button" 
      android:title="i" 
      android:showAsAction="always|withText" /> 
</menu> 

के बाद आप आइटम कार्रवाई बार किसी भी आइटम प्रदर्शित नहीं कर सकता के लिए किसी भी आइकन निर्दिष्ट नहीं किया। डिफ़ॉल्ट आइकन से टेक्स्ट की तुलना में प्रदर्शित होते हैं।

यदि यह पोस्ट आपको सहायता करता है, तो कृपया इसे उत्तर के रूप में चिह्नित करें।

धन्यवाद।

+1

thanx! Exaclty मैं देख रहा था !! पीएस रिक्त स्थान हटाएं ("हमेशा | साथ टेक्स्ट") – Paschalis

+0

दोनों स्वीकृत उत्तर (हंसपीड द्वारा) और इस उत्तर का उपयोग करके, उस पर एक आइकन के साथ एक एक्शनबार होने का अंतिम परिणाम मिला। धन्यवाद ! – Muzikant

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