2012-08-16 16 views
12

enter image description hereएंड्रॉयड शर्लक ActionBar ऊपर बटन

पास स्ट्रीम वहाँ एक छोटा सा तीर जब

मैं अपने अनुप्रयोग में एक ही बनाना चाहते क्लिक किया कि पिछली गतिविधि पर यू लेता है, मैं इस्तेमाल किया

getSupportActionBar().setDisplayHomeAsUpEnabled(true); 
है

क्या मुझे onOptionsItemSelected का उपयोग करने की आवश्यकता है?

तीर दिखाई दे रहा है, लेकिन क्लिक करने पर कुछ भी नहीं होता है।

और मैं अपने मेनू में दो आइटम है, वे हर जगह मैं कहाँ फोन दिखाई OnCreateOptionsMenu

यह मेरा आइटम कोड, जहां मैं अपने पिछले गतिविधि में केवल प्रकट करने के लिए करना चाहते हैं, कैसे?

 <item 
android:id="@+id/bAbout" 
android:title="About" 
android:showAsAction="always"/> 
+3

बस एक तरफ "अप" बटन नहीं माना जाता है, जरूरी है कि आपको पिछली गतिविधि पर ले जाएं (यही वह है जो बैक बटन विशेष रूप से करता है, हालांकि अक्सर ऊपर और पीछे ऐसा करता है) लेकिन उच्च स्तर पर अपने ऐप के वैचारिक पदानुक्रम में। यह यहां पूरी तरह से समझाया गया है: http://developer.android.com/design/patterns/navigation.html#up-vs-back –

उत्तर

24

हां आपको onOptionsItemSelected() लागू करना होगा। उस बटन के लिए आईडी android.R.id.home

public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 

    case android.R.id.home: 
     // Do whatever you want, e.g. finish() 
     break; 

    default: 
     return super.onOptionsItemSelected(item); 
    } 
} 

है और मैं अपने मेनू में दो आइटम है, वे हर जगह दिखाई जहाँ मैं OnCreateOptionsMenu

फोन मुझे यकीन है कि क्या समस्या यहाँ है नहीं कर रहा हूँ। बेशक आपको केवल onCreateOptionsMenu() लागू करना चाहिए और उस मेनू संसाधन को बढ़ाएं जहां आप इसे चाहते हैं। उन सभी गतिविधियों के लिए onCreateOptionsMenu() हटा रहा है जिन्हें इन विकल्पों को काम नहीं करना चाहिए।

+0

धन्यवाद Alextsc =), स्वीकृत! –