2015-01-08 4 views
11

क्या बिना किसी क्लिक या टच ईवेंट के एंड्रॉइड पर कीबोर्ड खोलना संभव है? उदाहरण के लिए कुछ तत्वों के लिए textarea संलग्न करने के बाद? element.focus() आईओएस पर मेरे लिए काम करता है लेकिन एंड्रॉइड पर नहीं।बिना किसी क्लिक या स्पर्श ईवेंट के जावास्क्रिप्ट द्वारा एंड्रॉइड पर कीबोर्ड कैसे खोलें?

+2

@Vixed आप सवाल को संपादित करना चाहिए बेहतर अपने स्वयं के मुद्दे फिट बनाने के लिए। जैसा कि यह स्पष्ट नहीं है कि यह जावा में एक एंड्रॉइड मूल ऐप (वर्तमान उत्तर मानता है) के लिए है, या जावास्क्रिप्ट में एक हाइब्रिड ऐप के लिए है, उदा। कॉर्डोवा का उपयोग करना – ghybs

+0

कृपया स्पष्ट करें कि आपका ऐप जावा या हाइब्रिड ऐप में है। –

+0

वेबव्यू जावास्क्रिप्ट (jQuery) @ghybs – Vixed

उत्तर

1

बस अपने XML में "requestFocus" जोड़ें।

 <EditText 
     android:id="@+id/editText" 
     ... /> 
     <requestFocus /> 

की तरह और OnCreate() में कुछ

this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE); 

या: यह सिर्फ

editText.requestFocus(); 
this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE); 
+0

यह काम नहीं करता है – Vixed

0

इस उत्तर निम्नलिखित धारणा पर आधारित है हो सकता है: आप कर रहे हैं एक प्रमाणपत्र प्राप्त करने के लिए एक कस्टम जावास्क्रिप्ट डालने के लिए अपने एंड्रॉइड ऐप में एक वेबव्यू का उपयोग करना जब भी आप पॉप करना चाहते हैं takeUserInput() विधि के लिए एक फोन करना

@JavascriptInterface 
public void takeUserInput() { 
    mWebView.setFocusable(true); 
    mWebView.setFocusableInTouchMode(true); 
} 

अपने जावास्क्रिप्ट में: कार्य में

सबसे पहले अपने Android जावा वर्ग में एक विधि है कि कीबोर्ड पॉपिंग का काम करना होगा बनाने कीबोर्ड पर।

आप call android functions from Javascript पर कैसे पढ़ सकते हैं।

आशा है कि इससे मदद मिलती है!

0

आपको यह सुनिश्चित करना होगा कि आपके तत्व पर फ़ोकस का अनुरोध करने से पहले विंडो का सॉफ्ट इनपुट मोड "हमेशा दिखाई दे" पर सेट हो। आप का उपयोग कर सेट कर सकते हैं:

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE); 

उसके बाद आप अपने तत्व पर ध्यान केंद्रित करने का अनुरोध करके कीबोर्ड को सामने लाने कर सकते हैं:

element.requestFocus(); 
0

मेरी जानकारी के अनुसार आप कीबोर्ड नहीं खोल सकता एक का उपयोग किए बिना इनपुट। निम्नलिखित वर्चुअल कीबोर्ड का उपयोग करने का प्रयास करें।

Show virtual keyboard on mobile phones in javascript

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