4

我使用 aWebView来使用他们的 API 在社交网络上授权用户。

WebView加载了一个带有 2 EditTexts(或它们在 Web 开发中被称为)和一个按钮的表单。

奇怪的问题:单击表单中的键盘不显示,EditText但是如果活动被暂停和恢复(例如我按 HOME 然后返回)EditTexts变得可编辑并且我能够输入登录数据。

完整过程(打开页面、暂停活动和返回)的 LogCat 输出如下所示。是的,我还注意到拼写错误的“假”。有任何想法吗?

 02-24 18:33:16.310: V/webview(19204):  singleCursorHandlerTouchEvent -getEditableSupport  FASLE 
 02-24 18:33:16.715: V/webview(19204): doShortPress : mNativeClass - 1407128 mPreventDefault -  0
 02-24 18:33:16.810: D/dalvikvm(19204): GC_CONCURRENT freed 299K, 48% free 3037K/5831K, external 604K/1033K, paused 7ms+4ms
 02-24 18:33:16.830: D/navcache(19204): cursorInputFieldAction cursor=39c108, cursorFrame=1a7928
02-24 18:33:16.830: D/navcache(19204): CachedFrame::previousInputField this=1a7928, start=39c108, begin=39c040 end=39c3c4
02-24 18:33:16.830: D/navcache(19204): CachedFrame::nextInputField this=1a7928, start=39c108, begin=39c040 end=39c3c4
02-24 18:33:16.830: D/navcache(19204): cursorInputFieldAction next=39c16c, prev=0, action=4
02-24 18:33:17.095: V/webview(19204): OnSizeChanged: Enter 
4

1 回答 1

4

我在 Google 群组中找到了一些东西,试试这个

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;
            }
        });
于 2013-02-24T17:59:33.537 回答