मैं Droid Incredible पर विकसित कर रहा हूं (और 1.5 एवीडी एमुलेटर पर भी परीक्षण किया है), और मेरे टैब विजेट में से एक टैब में एक सूचीदृश्य और एक संपादन टेक्स्ट के साथ एक पंक्ति होती है और एक बटन भेजें (चैट सुविधा के लिए)। एक बार जब मैं भेजें क्लिक करता हूं तो मैं सॉफ्ट कीबोर्ड को बंद करने के लिए निम्न का उपयोग कर रहा हूं, लेकिन यह काम नहीं कर रहा है। यह कोड के समान है जिसे मैंने कहीं और पाया है कि लोगों ने सही के रूप में उभरा है।सॉफ़्ट कीबोर्ड को छिपाएं
मुझे कुछ भी याद आ रही है?
// in Button's onClick():
EditText chatTextBox = (EditText) findViewById(R.id.chat_entry);
// Handle button click ...
chatTextBox.setText("");
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(chatTextBox.getWindowToken(), InputMethodManager.HIDE_IMPLICIT_ONLY);
मैंने ध्वज को 0 पर बदलने की भी कोशिश की। कोई भाग्य नहीं। किसी को पता है कि क्या हो रहा है ??
**** संपादित करें **** बस एहसास हुआ कि मैं मूल रूप से hideSoftInputFromWindow()
के बजाय hideSoftInputFromInputMethod()
का उपयोग कर रहा था। इसे बदलने से यह काम नहीं करता है ...
आप ध्वज के साथ 'कुंजीपटल दिखाई देगी SHOW_FORCED'then यह बताता है कि उपयोगकर्ता (जैसे देर तक दबाए मेनू के आधार पर) इनपुट पद्धति खुली मजबूर कर दिया है तो उसे बंद नहीं किया जाना चाहिए जब तक वे स्पष्ट रूप से ऐसा करते हैं। [दस्तावेज़ीकरण देखें] (http://developer.android.com/reference/android/view/inputmethod/InputMethodManager.html#SHOW_FORCED) –
यदि आपके पास ** जबरन ** दिखाया गया कीबोर्ड है और छिपाना चाहते हैं तो निम्नलिखित कोड 'इनपुट मोड मैनेजर' का उपयोग करें imm = (इनपुट मोड मैनेजर) mContext.getSystemService (Context.INPUT_METHOD_SERVICE); \t \t imm.hideSoftInputFromWindow (mEditText.getWindowToken(), 0); ' –