Android:如何监听webView中弹出的软键盘????急求!! 3C

Android:如何监听webView中弹出的软键盘????急求!!

1个回答

使用js监听,然后,调用安卓中的方法,将值传给安卓即可

public class MainActivity extends Activity {

    WebView wv;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        wv=(WebView) findViewById(R.id.wv);
        wv.setWebViewClient(new WebViewClient());
        initData();
    }
    private void initData() {
        wv=(WebView) findViewById(R.id.wv);
        wv.setWebViewClient(new WebViewClient());//防止跳转到手机浏览器
        WebSettings settings = wv.getSettings();
        settings.setJavaScriptEnabled(true);////启用javascript
         //指定可供js调用的java对象
         wv.addJavascriptInterface(new A(), "bridge");
         wv.loadUrl("file:///android_asset/a.html");
    }

    public class A
    {
        @JavascriptInterface
        public void show(String s)
        {
            Toast.makeText(MainActivity.this, s, 0).show();
        }
    }

} 

下面是a.html


<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<script type="text/javascript">
function aa()
{
    var w=document.getElementById("hhh");
    w.style.backgroundColor="#ff0000";
}
function show()
{
    w=document.getElementById("input");
    bridge.show(w.value);
}
</script>
</head>

<body>
    <div style="background-color:#335577; width:30px; height:50px" id="hhh">

    </div>
    <input type="text" id="input" />
    <button onClick="aa();">哈哈</button><br/>
    <button onClick="show();">哈哈</button>
</body>
</html>


Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!