2012-10-02 16 views
14

मेरे पास ViewPager है Fragment एस के साथ। जब Fragment में कोई बटन क्लिक किया जाता है, तो मैं अपने पर Activity लॉन्च करता हूं। जब मैं Activity में हूं, तो मेरे फोन पर बैक बटन दबाकर, मुझे अपनी पिछली स्क्रीन पर वापस ले जाता है यानी Fragment एस ViewPager में से एक है।मैं अपने एक्शनबार के "ऊपर" बटन को फोन के "बैक" बटन की तरह कैसे काम कर सकता हूं?

मैं ऐसा करने के लिए बटन "ऊपर" मेरी ActionBar में और क्रम में सक्षम करना चाहते हैं, मैं निम्नलिखित कोड लिखा है:

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.detail); 

    ActionBar actionBar = getActionBar(); 
    actionBar.setDisplayHomeAsUpEnabled(true); 
} 

अब "ऊपर" बटन दिखाया गया है, लेकिन इसे क्लिक करने से मुझे पिछली स्क्रीन पर वापस नहीं ले जाता है। मुझे "बैक" बटन के समान "बटन" बटन चाहिए।

मैं यह कैसे कर सकता हूं? मैं क्या गलत कर रहा हूं?

धन्यवाद।

+1

तुम एक वापस बटन के रूप में बटन का उपयोग नहीं करना चाहिए। ऊपर बटन का उद्देश्य ऊपर जाना और वापस नहीं जाना है। आपको इसे इस्तेमाल करने पर विचार करना चाहिए। http://developer.android.com/guide/topics/ui/actionbar.html#Up –

उत्तर

48

आप लागू करने के लिए जब तक बटन क्लिक किए जाने क्या किया जाना चाहिए भी जरूरत है:

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
     switch (item.getItemId()) { 
     case android.R.id.home: 
      onBackPressed(); 
      return true; 
     } 

    return super.onOptionsItemSelected(item); 
} 
+2

यह मेरा मुद्दा था। मैं बटन को स्वचालित रूप से वायर्ड होने की उम्मीद कर रहा था, लेकिन जब क्लिक किया गया, कुछ भी नहीं हुआ। उपरोक्त कोड के साथऑप्शनइटम चयन() पर ओवरराइड करने के बाद, यह एक चैंप की तरह काम करता था। धन्यवाद! – proudgeekdad

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