2016-02-21 3 views
1

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.

Répondre

1

En fait, il n'est pas possible de le faire uniquement en utilisant un écouteur tactile. Je devrais le gérer avec javascript/jQuery ou trouver un autre moyen de contourner. J'ai marqué cela comme résolu parce que je vais me débrouiller et cela n'obtient aucune attention.

Mise à jour:

Crosswalk ajouté finalement. Vous pouvez trouver comment faire cela ici: https://github.com/xdevs23/Cornowser/blob/master/app/src/main/java/io/xdevs23/cornowser/browser/browser/xwalk/CrunchyWalkView.java#L109