2011-09-07 6 views
7

मेरे पास एक ऐसी गतिविधि है जो उपयोगकर्ता अंदर टाइप करते हैं और फिर ठीक बटन पर क्लिक करते हैं। जब यह समाप्त हो जाता है, तो गतिविधि बंद हो जाती है और पुरानी गतिविधि पर वापस जाती है लेकिन सॉफ्ट कीबोर्ड अभी भी स्क्रीन पर है! मैंने एंड्रॉइड की कोशिश की है: windowSoftInputMode = "stateHidden" और getWindow()। SetSoftInputMode (WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);गतिविधि समाप्त करने के बाद मैं कीबोर्ड को कैसे हटा सकता हूं?

लेकिन यह कुछ भी नहीं करता है।

धन्यवाद

उत्तर

15

अपनी गतिविधि का OnPause में, आप क्या करना चाहिए निम्नलिखित

InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); 
     imm.hideSoftInputFromWindow(et.getWindowToken(), 0); 

कहाँ एट अपने EditText का एक उदाहरण है।

+0

मैंने कीबोर्ड को छुपाने के लिए "परिणाम के लिए प्रारंभ गतिविधि" के भीतर अपनी "खोज गतिविधि" को लागू करने के लिए इस दृष्टिकोण का उपयोग किया है। धन्यवाद! – Roman

+2

मेरे पास ऐसी ही स्थिति है जहां एक एसडीके द्वारा खोला गया गतिविधि गतिविधि समाप्त होने पर कीबोर्ड को खारिज नहीं कर रहा है। मैं एक कीबोर्ड के साथ समाप्त होता हूं जिसमें मेरी आधा गतिविधि आती है। किसी भी गतिविधि को एक अलग गतिविधि द्वारा दिखाए गए कीबोर्ड को कैसे खारिज करना है? – hitmaneidos

+1

क्या होगा यदि आपके पास एकाधिक संपादन टेक्स्ट हैं? GetWindowToken() को कॉल करने के लिए आप कैसे जानते हैं? –