showSoftInput()
मेरे लिए कीबोर्ड नहीं दिखाता है, लेकिन toggleSoftInput()
करता है। मैंने कुछ अन्य पोस्ट देखा जो एम्यूलेटर का उपयोग करते समय हार्ड कीबोर्ड को अक्षम करने के लिए कहा, लेकिन मैं एक एमुलेटर का उपयोग नहीं कर रहा हूं। मैं अपने एपीके को किसी वास्तविक डिवाइस पर लोड नहीं कर रहा हूं जिसमें कोई हार्ड कीबोर्ड नहीं है। क्या दोनों विधियां काम नहीं करनी चाहिए? showSoftInput()
क्यों काम नहीं करता है? मैं स्पष्ट रूप से कीबोर्ड को एक विशिष्ट टेक्स्ट फ़ील्ड से जोड़ना चाहता हूं।एंड्रॉइड सॉफ्टकीबोर्ड शो सॉफ़्ट इनपुट बनाम टॉगल सॉफ़्ट इनपुट
काम करता है नहीं:
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
editText.setText("textchange"); //i see the text field update
imm.showSoftInput(editText, InputMethodManager.SHOW_FORCED);
काम करता है:
InputMethodManager imm = (InputMethodManager) getDelegate().getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,0);
क्या आपने इसे समझ लिया है? मैंने पहले से ही इस समस्या पर 3 दिन बिताए हैं। अगर मैं टॉगल का उपयोग करने का प्रयास करता हूं, तो कीबोर्ड कभी-कभी छिपा होगा, क्योंकि यह पहले से ही दिखाई दे रहा है। और निश्चित रूप से एंड्रॉइड नहीं सोचता है कि हमें यह पूछने की क्षमता देना आवश्यक है कि सॉफ्टनपुट दिखाई दे रहा है या नहीं। – bgolson