1

WebViewHTMLページをロードするシンプルなアプリケーションがあります。HTMLページにはinputフィールドとが含まれています。iframeこれiframeはYouTubeビデオを埋め込むために使用されます。

<fieldset>
    <legend>Video Test</legend>
            <input type="text" id="text-callee-dataReceived" name="text-callee-dataReceived" size="80" value="" />
            <iframe class="youtube-player" type="text/html" width="100%" height="100%" src="http://www.youtube.com/embed/-qTIGg3I5y8" frameborder="0">
    </iframe>
</fieldset> 

入力フィールドをタップすると、キーボードが期待どおりに表示されます。ただし、最初にビデオを再生してから入力フィールドをタップすると、入力フィールドにフォーカスが移ってもキーボードが表示されません(つまり、カーソルが表示されて点滅します)。

注:Androidブラウザを使用してHTMLページにアクセスしたときに、これを再現できませんでした。

誰かが何が起こっているのか、または私がこれを何らかの方法で修正できるかどうかについて何か考えがありますか?

4

2 に答える 2

0

おそらく原因はここで説明されているバグです:http ://code.google.com/p/android/issues/detail?id = 7189

したがって、プログラムでフォーカスを設定してみてください。

webview.requestFocus(View.FOCUS_DOWN);
webview.setOnTouchListener(new View.OnTouchListener() {
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        switch (event.getAction()) {
            case MotionEvent.ACTION_DOWN:
            case MotionEvent.ACTION_UP:
                if (!v.hasFocus()) {
                    v.requestFocus();
                }
                break;
        }
        return false;
    }
});
于 2012-07-25T01:38:30.667 に答える
0

今日も同じ問題がありました。次の解決策が私のために働いた:

mWebView.setWebViewClient(new WebViewClient() {
    @Override
    public void onPageFinished(WebView view, String url) {
        view.requestFocus();
        super.onPageFinished(view, url);
    }
});

幸運を!

于 2014-02-28T14:52:11.480 に答える