gpt4 book ai didi

Android:如何从 WebView 中选择文本

转载 作者:可可西里 更新时间:2023-11-01 18:57:26 27 4
gpt4 key购买 nike

我想让用户从 webview 中选择一些文本,它需要作为文本消息发送。请找到选择文本并复制到剪贴板并从剪贴板中提取的方法。我看到了很多例子,但没有什么能真正帮助我......TIA

编辑
使用来自 @orangmoney52 的链接中提供的代码。有以下变化

get方法的第二个参数和invoke方法的第二个参数。如果我给 null 会有警告..哪个是正确的?

 public void selectAndCopyText() {
try {
Method m = WebView.class.getMethod("emulateShiftHeld", Boolean.TYPE);
m.invoke(BookView.mWebView, false);
} catch (Exception e) {
e.printStackTrace();
// fallback
KeyEvent shiftPressEvent = new KeyEvent(0,0,
KeyEvent.ACTION_DOWN,KeyEvent.KEYCODE_SHIFT_LEFT,0,0);
shiftPressEvent.dispatch(this);
}

}

出现此错误:

 05-26 16:41:01.121: WARN/System.err(1096): java.lang.NoSuchMethodException: emulateShiftHeld  

最佳答案

上面的答案看起来非常好,而且您在选择文本时似乎遗漏了一些东西。所以你需要仔细检查代码并找到你覆盖的任何 TouchEvent 的 webview。

我试过下面的代码,它工作正常......

函数是

 private void emulateShiftHeld(WebView view)
{
try
{
KeyEvent shiftPressEvent = new KeyEvent(0, 0, KeyEvent.ACTION_DOWN,
KeyEvent.KEYCODE_SHIFT_LEFT, 0, 0);
shiftPressEvent.dispatch(view);
Toast.makeText(this, "select_text_now", Toast.LENGTH_SHORT).show();
}
catch (Exception e)
{
Log.e("dd", "Exception in emulateShiftHeld()", e);
}
}

在任何你想要的地方调用上面的方法(你可以放一个按钮并在它的点击事件中调用这个方法):emulateShiftHeld(mWebView);

关于Android:如何从 WebView 中选择文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6058843/

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