2011-09-26 6 views
7

एक छोटी सी जानकारी है कि मैं ऐसा करने का प्रयास क्यों कर रहा हूं: मैं एक गतिविधि से गतिविधि खोलने के लिए गतिविधि समूह का उपयोग कर रहा हूं और उस नई गतिविधि टैब के नीचे रहती है। वह हिस्सा मुझे मिला है। लेकिन जब उस नई गतिविधि में, यदि मैं बैक बटन का उपयोग करता हूं तो यह मुझे टैब की गतिविधि से बाहर ले जाता है, इसलिए मुझे वापस जाने के लिए कुछ बार क्लिक करना पड़ता था।एंड्रॉइड बैक बटन ओवरराइड करें

क्या वर्तमान गतिविधि विंडो को मारने के बजाए एक विशिष्ट गतिविधि पर जाने के लिए बैक बटन सेट करने का कोई तरीका है?

+0

http://stackoverflow.com/q/2459848/632951 – Pacerier

उत्तर

5

आम तौर पर, मैं इसके खिलाफ सलाह दूंगा क्योंकि यह यूएक्स को तोड़ देता है। उपयोगकर्ता बैक बटन को पूरी विंडो को मारने की अपेक्षा करता है, खासकर जब से आप टैबहोस्ट का उपयोग कर रहे हैं। उपयोगकर्ता के लिए, संपूर्ण गुच्छा (टैब और सभी) एक ही गतिविधि है जिसे वह पीछे बटन दबाते समय बाहर निकलना चाहता है।

यदि आप अभी भी ऐसा करना चाहते हैं, तो #onBackPressed() देखें। इसे तब कहा जाता है जब गतिविधि ने बैक कुंजी के उपयोगकर्ता की प्रेस का पता लगाया है। डिफ़ॉल्ट गतिविधि को खत्म करना है, लेकिन आप जो कुछ भी चाहते हैं उसे कर सकते हैं। मैं देखभाल और सावधानी बरतता हूं।

आपको here से कुछ प्रेरणा मिल सकती है।

+0

मैं यूएक्स को तोड़ने के इच्छुक नहीं हूं। इसके बारे में थोड़ा और सोचने के बाद हालांकि यह सुविधाजनक होगा और मेरी स्थिति में भी समझ में आएगा। मुझे आगे और आगे जाने की एक और विधि के साथ आना होगा। – ryandlf

7

मेरा मानना ​​है कि आप इस तरह से कुछ करने के लिए सक्षम होना चाहिए:

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if ((keyCode == KeyEvent.KEYCODE_BACK)) { 
     // start new Activity here 
    } 
    return super.onKeyDown(keyCode, event); 
} 

लेकिन वापस बटन की उम्मीद कार्यक्षमता अधिभावी उचित नहीं है।

+0

मुझे लगता है कि यह एक नेविगेशन का एहसास करने का एक अच्छा तरीका है। जब तक विज़ुअल दृष्टिकोण उपयोगकर्ता के लिए पारदर्शी होता है और उपयोगकर्ता * नेविगेशन की शुरुआत * तक पहुंचने पर बैक क्लिक के डिफ़ॉल्ट व्यवहार को ट्रिगर कर सकता है (शायद एक डबल क्लिक करके - यदि उपयोगकर्ता धीमा करने के लिए क्लिक करता है तो आप दिखा सकते हैं टोस्ट संकेत) – Knickedi

+0

मेरे लिए काम किया धन्यवाद –