2015-01-08 15 views
11

クリックまたはタッチイベントなしでAndroidでキーボードを開くことはできますか?たとえば、いくつかの要素にtextareaを追加した直後ですか? element.focus()はiOSでは動作しますが、Androidでは動作しません。クリックやタッチイベントなしでAndroidでキーボードを開く方法

+2

。現在の回答が想定しているように、JavaのAndroidネイティブアプリ用であるかJavaScriptなどのハイブリッドアプリ用であるかは不明です。コルドバを使って – ghybs

+0

あなたのアプリはjavaまたはハイブリッドアプリであることを明確にしてください。 –

+0

Webview javascript(jQuery)@ghybs – Vixed

答えて

1

"requestFocus"をXMLに追加してください。

 <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

この回答は、以下の仮定に基づいていることができます: あなたがいますあなたのアンドロイドアプリでWebViewを使用してカスタムJavascriptを挿入して証明書を取得するあなたがポップしたいときtakeUserInput()メソッドへの呼び出しを行い、あなたのJavaScriptで

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

:タスクに

は、まずキーボードをポップアップの仕事を行いますAndroidのJavaクラスのメソッドを作成しますキーボードをアップする。

call android functions from Javascriptを読むことができます。

希望すると便利です。

0

要素のフォーカスを要求する前に、ウィンドウのソフト入力モードが「常に表示可能」に設定されていることを確認する必要があります。 あなたが使用してそれを設定することができます:あなたはあなたの要素にフォーカスを要求することにより、キーボードを立ち上げることができた後

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

を:

element.requestFocus(); 
0

私の知識によると、あなたは使用せずにキーボードを開くことができません。入力。次の仮想キーボードの読み取りを使用してみてください。あなたはそれがより良い自分自身の問題に合うようにするために、質問を編集する必要があり@Vixed

Show virtual keyboard on mobile phones in javascript

関連する問題