我注意到,当长时间按下XWalkView内部的链接时,结果一无所获。我希望能够长时间按下您可以在Chrome中看到的链接(当您长按蓝色链接时)。我不需要知道如何创建对话框,我想知道如何拦截长按事件。
(注意这与android有关)
我不关心使用JavaScript,但必须工作。
我尝试使用onLongClickListener
但我无法从中获取网址。
以下是当前代码:
//...
private static Handler handler = new Handler();
private static Runnable longPressRunnable = new Runnable() {
@Override
public void run() {
Logging.logd("Long press detected");
}
};
//...
public static final View.OnTouchListener
mainOnTouchListener = new View.OnTouchListener() {
//...
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
switch(motionEvent.getAction()) {
case MotionEvent.ACTION_DOWN:
handler.postDelayed(longPressRunnable, 1200);
//...
break;
case MotionEvent.ACTION_UP:
handler.removeCallbacks(longPressRunnable);
//...
break;
case MotionEvent.ACTION_MOVE:
//...
handler.removeCallbacks(longPressRunnable);
break;
default: break;
}
return false;
}
请注意 XWalkView 不支持 HitTestResult ,因此请避免告诉我将其用作答案。
答案 0 :(得分:1)
实际上,仅使用触控侦听器无法做到这一点。我将不得不用javascript / jQuery处理它或找到另一种方法。我把它标记为已解决,因为我会按照自己的方式行事,这根本没有得到关注。
<强>更新强>
Crosswalk最后添加了它。您可以在此处了解如何执行此操作:https://github.com/xdevs23/Cornowser/blob/master/app/src/main/java/io/xdevs23/cornowser/browser/browser/xwalk/CrunchyWalkView.java#L109