gpt4 book ai didi

android - WebView 中的复制按钮不起作用 - 为什么?

转载 作者:行者123 更新时间:2023-11-30 05:09:35 24 4
gpt4 key购买 nike

在我的应用程序中,我有一个 webView,我在其中显示网站,当我尝试单击复制按钮时,它不会复制任何内容。怎么可能解决这个问题?

到目前为止我已经尝试过,但没有帮助:

webView = (WebView) findViewById(R.id.webView1);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setDomStorageEnabled(true);
webView.getSettings().setDatabaseEnabled(true);
webView.getSettings().setMinimumFontSize(1);
webView.getSettings().setMinimumLogicalFontSize(1);
webView.getSettings().setAllowFileAccess(true);
webView.getSettings().setAllowContentAccess(true);

我正在检查 Logcat 并看到此错误,同时单击网站中的复制按钮:“

Uncaught (in promise) undefined

“但是,这个按钮在浏览器中工作正常,但在 WebView 中不起作用。

最佳答案

根据您所写的评论,您提到要从网站中提取文本。您需要准确地确定您想要的文本并将其定位在 HTML 代码中。

以下解决方案将允许您提取给定网站的 HTML 代码,但您必须将范围缩小到您要进一步提取的文本以及它位于哪个属性中,即类/id

webView.evaluateJavascript(
"(function() { return ('<html>'+document.getElementsByTagName('html')[0].innerHTML+'</html>'); })();",
new ValueCallback<String>() {
@Override
public void onReceiveValue(String html) {
Log.d("HTML", html);
// This should log the html code within the log cat
}
});

-想将 Balaji M 归功于 html content in webview 下的答案因为它也有助于解决这个问题。-

~~我想保留我之前的回答,以防你决定改变你对这个问题的处理方式~~

因为您已经找到了事件监听器的答案,您可以在其中检测到何时在 webView 中触发了复制按钮,现在唯一缺少的功能是从剪贴板粘贴。
应该将以下代码放在 onCreate 方法中:

// Gets a handle to the clipboard service.
ClipboardManager clipboardManager = (ClipboardManager)getSystemService(Context.CLIPBOARD_SERVICE);

现在是时候将剪贴板中的数据复制到我们的字符串变量或任何其他变量类型中了。

// Get clip data from clipboard.
ClipData clipData = clipboardManager.getPrimaryClip();
// Get item count.
int itemCount = clipData.getItemCount();
if(itemCount > 0){
// Get source text.
Item item = clipData.getItemAt(0);
String copiedData = item.getText().toString();
//For testing purpose, display toast containig your copied data
Toast.makeText(getActivity(), copiedData , Toast.LENGTH_LONG).show();
}

关于android - WebView 中的复制按钮不起作用 - 为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53945593/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com