J'ai remarqué que lorsque vous appuyez longtemps sur un lien à l'intérieur d'un XWalkView, vous obtenez rien. Je veux gérer une longue pression sur les liens comme vous pouvez le voir dans Chrome (lorsque vous appuyez longuement sur un lien bleu). Je n'ai pas besoin de savoir de vous comment créer un dialogue, je veux savoir comment intercepter le long événement de la presse.Comment obtenir l'URL en appuyant longuement sur Crosswalk?
(Notez que ceci est lié Android)
Je ne me soucie pas d'utiliser JavaScript pour cela, mais il doit travail.
J'ai essayé d'utiliser un onLongClickListener
mais je n'arrive pas à obtenir l'URL.
Voici le code actuel:
//...
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;
}
Notez que XWalkView ne fait pas soutien HitTestResult, afin d'éviter de me dire d'utiliser comme réponse.