gpt4 book ai didi

java - 在人行横道(cordova)中禁用上下文选择菜单

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:31:07 26 4
gpt4 key购买 nike

我希望禁用当您选择一些文本时显示的 native 上下文菜单,其中包含全选复制共享search 按钮。但是我不想自己禁用选择。理想情况下,我实际上希望扩展菜单,但老实说,我只需要禁用它就可以了。对于文本字段等,从我找到的文档来看,它往往相对简单,但我只是想不出一种方法来使它与 XWalkView/CordovaWebView 一起工作。可能是我只是在完全错误的角落搜索。

最佳答案

我有一个解决方法。

对于WebView有一个解决方案,但它不适用于XWalkView:

WebView selection menu workaround

我的 gradle 包括 compile 'org.xwalk:xwalk_core_library:14.43.343.17'

我的解决方案,主要思路在onAttachedToWindow方法中:

public class XWalkWebView extends XWalkView {

public XWalkWebView(Context context, AttributeSet attrs) {
super(context, attrs);
}

private ActionMode.Callback mOriginalCallback;

@Override
protected void onAttachedToWindow() {
super.onAttachedToWindow();
try {
View innerChild = ((ViewGroup) getChildAt(0)).getChildAt(0);
Field contentViewField = innerChild.getClass().getDeclaredField("mContentView");
contentViewField.setAccessible(true);
XWalkContentView xWalkContentView = (XWalkContentView) contentViewField.get(innerChild);
Field contentViewCoreField = xWalkContentView.getClass().getSuperclass().getDeclaredField("mContentViewCore");
contentViewCoreField.setAccessible(true);
ContentViewCore viewCore = (ContentViewCore) contentViewCoreField.get(xWalkContentView);
viewCore.setContainerView(this);
} catch (NoSuchFieldException | IllegalAccessException e) {
e.printStackTrace();
}
}

@Override
public ActionMode startActionMode(ActionMode.Callback callback) {
mOriginalCallback = callback;
ActionMode.Callback c = new // your callback...
return super.startActionMode(c);
}

}

关于java - 在人行横道(cordova)中禁用上下文选择菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26513792/

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