2012-07-20 4 views
1

J'essaie d'utiliser un webview pour afficher une page qui fait des animations de toile très basiques et affiche l'heure actuelle sous forme de chaîne. J'utilise setTimeout() pour mettre à jour le contenu une fois par seconde (ou 30 fois par seconde pour l'animation).Webview Android: JavaScript s'arrête au toucher

Mon problème est que dès que je touche l'écran, mon javascript cesse d'être exécuté. Le plus loin que j'ai eu était d'ajouter des écouteurs pour les événements tactiles à mon javascript et d'appeler e.preventDefault() dans le gestionnaire d'événements, ce qui a aidé dans la plupart des cas, mais semblait manquer certains cas où aucun des événements javascript habituels s'est fait virer.

La prochaine chose que j'ai essayé était de remplacer le gestionnaire de contact par défaut comme suit:

myWebView.setOnTouchListener(new View.OnTouchListener() { 
    @Override 
    public boolean onTouch(View v, MotionEvent event) { 
    return true; 
    } 
}); 

Cela a permis, mais le problème est qu'il consomme l'événement touche avant qu'il ne soit envoyé à mon WebView, rendant impossible pour écouter les événements tactiles en javascript. Je veux désactiver tous les comportements par défaut d'Android comme le zoom et ainsi de suite, puisque c'est ce qui bloque mon animation, mais je veux quand même pouvoir utiliser ces événements en javascript.

Des idées?

Répondre

Questions connexes