5

मेरे पास मेरे एंड्रॉइड ऐप (एपीआई लेवल 14) में एक्शनबार है। मेरे ऐप आइकन के साथ एक होम बटन है। मुख्य गतिविधि में मैं एक संपादन टेक्स्ट में एक छोटा पाठ लिखता हूं। जब मैं वरीयता सक्रियता पर नेविगेट करता हूं तो आइकन मुझे सिग्नल करने के लिए एक तीर प्राप्त करता है, मैं घर गतिविधि (मुख्य गतिविधि) पर जा सकता हूं।एंड्रॉइड - एक्शनबार ऐप आइकन पर क्लिक करें, नया गतिविधि उदाहरण बनाएं

// PreferenceActivity-onCreate 
    ActionBar actionBar = getActionBar(); 
    actionBar.setDisplayHomeAsUpEnabled(true); 

मैं MainActivity

// PreferenceActivity 
@Override 
public boolean onOptionsItemSelected(MenuItem item) 
{ 
    switch (item.getItemId()) 
    { 
    case android.R.id.home: 
     Intent intent = new Intent(this, MainActivity.class); 
     intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
     startActivity(intent); 
     return true; 
    default: 
     return super.onOptionsItemSelected(item); 
    } 
} 

अब मेरी MainActivity बनाया गया था फिर से अंड EditText में पाठ चला गया है पर लौटने के लिए ActionBar में है कि एप्लिकेशन आइकन पर क्लिक करें। मैंने सोचा कि मैं मरने के इरादे से मुख्य गतिविधि को जीवित रख सकता हूं। FLAG_ACTIVITY_CLEAR_TOP। मैं एक व्यवहार करना चाहता हूं जैसे कि मैं डिवाइस पर अपने रिटर्न बटन का उपयोग करता हूं।

उत्तर

7

आप MainActivity के एक मौजूदा उदाहरण पर वापस आना चाहते हैं, तो आप ऐसा करने की जरूरत:

intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP); 

अकेले CLEAR_TOP का प्रयोग का कारण बनता है MainActivity का एक नया उदाहरण बनाया जाना।

+0

इस तरह से काम नहीं करता है। लेकिन जब मैं 2 एडफ्लैग लिखता हूं तो यह ठीक काम करता है। \t \t \t intent.addFlags (Intent.FLAG_ACTIVITY_CLEAR_TOP); \t \t \t intent.addFlags (Intent.FLAG_ACTIVITY_SINGLE_TOP); – Gepro

+0

आह ... क्षमा करें, आपको एक "|" की आवश्यकता है और नहीं "||" 2 झंडे के बीच। मेरी गलती। आप एक ** bitwise ** या, एक ** तार्किक ** या नहीं चाहते हैं। मैंने अपना जवाब संपादित कर लिया है। –

+0

ठीक है, मुझे यह ध्यान रखना होगा कि – Gepro

0

मुझे विश्वास है कि यह करने का यह सही तरीका है। https://stackoverflow.com/a/15933890/238768

Intent.FLAG_ACTIVITY_CLEAR_TOP का उपयोग करने से गैपरो क्या करना चाहता है इसके विपरीत विपरीत व्यवहार का कारण बन जाएगा!