2012-02-13 12 views
5

キーボードの表示/入力を助ける必要があります。Webview html入力フォームがキーボードを表示/許可していない

私の基本的なアプリケーションにはボタン付きのメイン画面があり、クリックするとwebviewが開き、私のボタンの1つでは、入力フォーム付きのHTMLページにWebビューが開きます。入力フィールドをクリックすると、キーボードは表示されません。エミュレータでハードウェアキーボードを使用すると、中国語の候補が表示され、テキストは入力されません。

答えて

8

ブレントは、行が目的を果たすだろう以下、示唆したように -

webView.requestFocus(View.FOCUS_DOWN); 

これが起こりますこれは、ページの読み込み中のWebページがフォーカスを失って、この行がフォーカスをページに戻すためです。この質問で終わる人のために

、このトピックに関する詳細な議論は、これらのhere

3

私はさらに、私は私が私のWebViewを起動すると、私のWebViewが

...あなたはのrequestFocus文を渡します(私の場合は、ボタンのクリック)

WebView wb; 

として宣言されていグーグルで、この問題を自分で解決

public void onMyButtonClick01(View view) 
{ 
    Toast.makeText(this, "Haha!", Toast.LENGTH_SHORT).show(); 
    wb = new WebView(this); 
    wb.loadUrl("http://www.test.html"); 
    setContentView(wb); 
    wb.requestFocus(View.FOCUS_DOWN); 
}  
+0

ブリリアント、ありがとう! –

5

なし私のために働いたんです。 しかし、webViewにall-app webViewStyleを適用すると、すべてが修正されました。

問題は、このように、WebViewの定義でstyle="?android:attr/webViewStyle"を使用して修正されました:

<?xml version="1.0" encoding="utf-8"?> 
<WebView 
xmlns:android="http://schemas.android.com/apk/res/android" 
style="?android:attr/webViewStyle" 
android:id="@+id/webview" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent"/> 
+0

いくつかのWebViewメソッドを拡張してオーバーライドした後、これを追加しなければなりませんでした。具体的には、リンクのコンテキストメニューを追加しました。なんらかの理由でこれがキーボードの表示を停止した、非常に奇妙な、多分私は何かが不足しています。 – micwallace

関連する問題