android - 将复制的文本粘贴到 Webview 页面

标签 android webview android-webview

我创建了一个可以将文本复制到剪贴板的自定义菜单,但是如果焦点文本字段位于 HTML 页面中,我该如何将其粘贴回去?

 private class CustomMenuItemClickListener implements MenuItem.OnMenuItemClickListener {
        @Override
        public boolean onMenuItemClick(MenuItem item) {

            final ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
            switch (item.getItemId()) {
                case R.id.copy:
                    webView.evaluateJavascript("(function(){return window.getSelection().toString()})()",
                            new ValueCallback<String>() {
                                @Override
                                public void onReceiveValue(String value) {

                                    ClipData clip = ClipData.newPlainText("webView", value);
                                    clipboard.setPrimaryClip(clip);
                                }
                            });
                    break;
                case R.id.paste:
                    ClipData clipData = clipboard.getPrimaryClip();
                    ClipData.Item item1 = clipData.getItemAt(0);
                    String text = item1.getText().toString();

                    //Paste, how to access the selected field in the page?

                    break;

                default:
                    break;

            }
            return false;
        }
    }

最佳答案

使用document.activeElement.value,这应该获得焦点文本字段

webView.evaluateJavascript("(function(){document.activeElement.value = '"+text+"'})()",
                            new ValueCallback<String>() {
                                @Override
                                public void onReceiveValue(String value) {

                                }
                            });

关于android - 将复制的文本粘贴到 Webview 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49476016/

相关文章:

android - 我的 CSS 会在 Android 的 WebView 和 IOS UIWebView 中正确呈现吗?

android - 我不明白 MVVM 上的 "instance has not been initialized"

java - 更改自定义适配器内容

Android:保存 XWalkView - 人行横道状态

css - 在 html 页面的容器中打开网站

android - 从 HTML 引用 Assets 中的图像不起作用

reactjs - 用柏树在窗口上设置一个属性

java - 带有布局的意外标记

javascript - 调整大小时的页面可见性

javascript - 无法从 Javascript 重新加载 Android WebView