2010-11-24 10 views
6

मैं उस घटना को हुक करना चाहता हूं जो एंड्रॉइड के स्क्रीन कीबोर्ड पर दिखाई देता है। उदाहरण के लिए जब उपयोगकर्ता कुंजीपटल लाने के लिए EditText को टैप करता है। किसी को भी पता है कि किस घटना (या श्रोता) का उपयोग करना है?एंड्रॉइड: स्क्रीन कुंजीपटल पर कौन सा ईवेंट आग लगती है?

टीमो

+0

एंड्रॉइड प्रलेखन InputMethodService के onEvalaluInputViewShown() विधि को संदर्भित करता है, जो मैं चाहता था जो कर सकता है, लेकिन मुझे लगता है कि इसका एक उदाहरण पकड़ने में सक्षम नहीं है। मैंने InputMethodManager imm = (इनपुट मोड मैनेजर) getSystemService (INPUT_METHOD_SERVICE) के साथ प्रयास किया; लेकिन वह उदाहरण मुझे इनपुट विधि सेवा प्राप्त करने में मदद नहीं करता है। – Pompair

उत्तर

0

निर्धारित करने के लिए जब कुंजीपटल ऊपर आता है एक तरीका होना नहीं है, लेकिन आप एक क्लिक श्रोता या उस दृश्य के लिए एक onfocuschangedlistener रजिस्टर कर सकते हैं आप जब उपयोगकर्ता एक edittext पर टैप करता जाँच करना चाहते हैं।

+1

हाय, उत्तर के लिए धन्यवाद। हालांकि, मैं अभी तक अंतिम सत्य होने के लिए इसे स्वीकार करने से इनकार करता हूं। =) – Pompair

+0

सॉफ्ट कीबोर्ड आईएमई का हिस्सा हैं, और कुछ विशेष रूप से हमेशा से उजागर किए गए हार्ड कीबोर्ड वाले उपकरणों पर "पॉप अप" (या यहां तक ​​कि अस्तित्व में नहीं) हो सकते हैं। – Blrfl

+0

Droid/मील का पत्थर के मामले में आप यह नहीं जान सकते कि ओएसके बस संपादन टेक्स्ट घटनाओं को सुन रहा है या नहीं, क्योंकि आपको पता नहीं चलेगा कि एचडब्ल्यू कीबोर्ड बाहर है या नहीं। – Juhani

1

एंड्रॉइड डेवलपर्स में निम्नलिखित चर्चा धागे के अनुसार Google समूह इसे हल करने का एकमात्र तरीका मुख्य दृश्य की आकार बदलती घटनाओं को सुनना है। धागा हालांकि बहुत पुराना है। मुझे आश्चर्य है कि किसी भी नए एपीआई ने बेहतर तरीके से प्रदान किया है।

http://groups.google.com/group/android-developers/browse_thread/thread/9d1681a01f05e782

पिछले पोस्ट एक काम कर समाधान के पीछे एक तर्क बताते हैं।

संबंधित मुद्दे