下面列出了怎么用android.webkit.WebView.HitTestResult的API类实例代码及写法,或者点击链接到github查看源代码。
void openBookmarkUrlLongClick(final String url){
LightningView lv = getCurrentWebView();
HitTestResult result = lv.getWebView().getHitTestResult();
if (url != null) {
onBookmarkLongClick(url);
} else if (result != null) {
if (result.getExtra() != null) {
final String newUrl = result.getExtra();
onBookmarkLongClick(newUrl);
}
}
}
void openHistoryUrlLongClick(final String url){
LightningView lv = getCurrentWebView();
HitTestResult result = lv.getWebView().getHitTestResult();
if (url != null) {
onHistoryLongClick(url);
} else if (result != null) {
if (result.getExtra() != null) {
final String newUrl = result.getExtra();
onHistoryLongClick(newUrl);
}
}
}
@Override
/**
* handles a long click on the page, parameter String url
* is the url that should have been obtained from the WebView touch node
* thingy, if it is null, this method tries to deal with it and find a workaround
*/
public void longClickPage(final String url) {
HitTestResult result = null;
LightningView lv=getCurrentWebView();
if(lv==null){
return;
}
if(lv.getUrl().indexOf("http")<0){
longClickPageFiles(url);
return;
}
if (lv.getWebView() != null) {
result = getCurrentWebView().getWebView().getHitTestResult();
}
if (url != null) {
if (result != null) {
if (result.getType() == HitTestResult.SRC_IMAGE_ANCHOR_TYPE
|| result.getType() == HitTestResult.IMAGE_TYPE) {
final String imageUrl = result.getExtra();
onImageLongClick(url,imageUrl);
} else {
final String extraLink = result.getExtra();
//result.
//ToastUtil.showMessage("ex:"+extraLink+" url:"+url);
onLinkLongClick(url);
}
} else {
onLinkLongClick(url);
}
} else if (result != null) {
if (result.getExtra() != null) {
final String newUrl = result.getExtra();
if (result.getType() == HitTestResult.SRC_IMAGE_ANCHOR_TYPE
|| result.getType() == HitTestResult.IMAGE_TYPE) {
onImageLongClick(newUrl,newUrl);
//onImageLongClickExtraUrl(newUrl);
} else {
onLinkLongClick(newUrl);
}
}
}
}
public HitTestResult getHitTestResult();