Prevent finishing activity when back button pressed if keyboard is open in android -
यह प्रश्न एक सटीक डुप्लिकेट है: < / P>
- 1 उत्तर
मेरे पास एक गतिविधि। जब उपयोगकर्ता उस एडिटेक्ट पर छूता है, कीबोर्ड खुला है। लेकिन सभी एचटीसी डिवाइस में, कुंजीपटल खोलने के बाद, और जब उपयोगकर्ता केवल कीबोर्ड को छिपाने के बजाय वापस बटन दबाए, मेरी वर्तमान गतिविधि समाप्त हो जाती है और पहले की गतिविधि दिखाती है इस समस्या को हल करने के लिए कैसे? सभी अन्य सैमसंग मोबाइल में, यह ठीक काम करता है लेकिन एचटीसी उपकरणों में नहीं।
अच्छा यह सिर्फ आपके लिए काम करेगा आप जांच सकते हैं कि कीबोर्ड ऑन ऑन बैकड्यूड इवेंट की तरह है:
सार्वजनिक रिक्त पर ब्लैकप्रेस () {अंतिम देखें गतिविधि RootView = findViewById (R.id.activityRoot); ActivityRootView.getViewTreeObserver ()। AddOnGlobalLayoutListener (नया ऑन ग्लोबललेआउट लिस्टनर) {@Override सार्वजनिक शून्य पर ग्लोबल लेआउट () {int heightDiff = activityRootView.getRootView ()। GetHeight () - activityRootView.getHeight (); यदि (heightDiff & gt; 100) {// अगर 100 से अधिक पिक्सल, इसकी शायद एक कुंजीपटल ... InputMethodManager imm = (InputMethodManager) getSystemService (संदर्भ। INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow (myEditText.getWindowToken (), 0);}} अन्य {super.onBackpressed ();} }); }
तब आप ऊपर दिए गए कोड की तरह पहले कुंजीपटल को खारिज कर सकते हैं और तब अंत में जब वापस दबाया जाता है तो आप सुपर का उपयोग करके वापस जा सकते हैं। बैकप्रेस (); < / div>
Comments
Post a Comment