首页 > 解决方案 > 从 webview 中的“getHitTestResult()”获取图像类型

问题描述

我有一个网络视图,当长按链接或图像时,会出现一个上下文菜单。当我点击谷歌搜索结果链接时,webView.getHitTestResult()方法返回图像类型。这通常是非常错误的。

在此处输入图像描述 如何解决?

我可以使用自定义类型而不是使用WebView.HitTestResult.IMAGE_TYPE吗?

我的onCreateContextMenu是:

 @Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
    super.onCreateContextMenu(menu, v, menuInfo);

    WebView.HitTestResult result = webView.getHitTestResult();

    if (result.getType() == WebView.HitTestResult.IMAGE_TYPE ||
            result.getType() == WebView.HitTestResult.SRC_IMAGE_ANCHOR_TYPE) {

        menu.setHeaderTitle(result.getExtra());
        menu.add(0, 1, 0, "Image").setOnMenuItemClickListener(handler);

    } else if (result.getType() == WebView.HitTestResult.ANCHOR_TYPE ||
            result.getType() == WebView.HitTestResult.SRC_ANCHOR_TYPE) {

        menu.setHeaderTitle(result.getExtra());
        menu.add(0, 1, 0, "Link").setOnMenuItemClickListener(handler);

    }
}

标签: androidwebview

解决方案


推荐阅读