2013-12-12 8 views
5

Ich bin auf ein Problem auf kitkat (Android 4.4) Geräte mit meiner App läuft. Das Problem ist, dass, wenn ich getHitTestResult() auf meiner Webansicht aufrufen, es Null zurückgibt, wo es wie bei jeder anderen Android-Version entsprechende Daten zurückgibt. Ich bin mir nicht sicher, ob das ein bestimmter 4.4-Fehler ist oder ob es eine Arbeit gibt, die jemand kennt. Jede Hilfe wird sehr geschätzt. Code ist unten:Auf Android 4.4 webView.getHitTestResult() gibt null

WebView myWebView = new WebView(getContext()); 
    HitTestResult hitResult = myWebView.getHitTestResult(); 

    if (hitResult != null && hitResult.getType() == HitTestResult.SRC_ANCHOR_TYPE) { 
     CBDReaderWebClient client = new CBDReaderWebClient(); 
     ... 
    } 
+0

Gibt es immer null zurück, oder nur für einige Arten von Inhalten, wenn es berührt wird? – ksasq

Antwort

1

Aber, haben Sie es in einem Touch-Listener? Soweit ich weiß, funktioniert das nur, nachdem etwas berührt wurde (nicht im genauen Moment, aber etwas muss berührt werden)

WebView myWebView = new WebView(getContext()); 
HitTestResult hitResult = myWebView.getHitTestResult(); 

myWebView.setOnTouchListener(new View.OnTouchListener() { 
    public boolean onTouch(View v, MotionEvent event) { 
     WebView.HitTestResult hr = ((WebView)v).getHitTestResult(); 

     //... 

     return false; 
    } 
}); 
+0

Hallo, danke für die Antwort ... Ich hätte das im Code klarer machen sollen, aber ja, es ist in einem Touch-Listener ... Es scheint mir nur, dass dies eine spezielle 4.4-Sache ist, weil es auf jeden funktioniert andere Version, die ich getestet habe. Nicht sicher, ob sich Webviews auf kitkat anders verhalten ... – CalebeGeazi

+1

Was ich an dieser Stelle sagen kann, ist, dass es auch anderen Leuten mit 4.4 passiert. Ich habe 4.2 und ich traue dem Emulator nicht, also ich fürchte, ich kann dir nicht helfen. Aber ich empfehle, dass Sie die Quellcodes an Ihren Debugger anhängen und den Code Schritt für Schritt durch das Touch-Ereignis folgen. Du wirst 3 Dinge bekommen: viel lernen, fast verrückt werden und wahrscheinlich deine Lösung finden. Viel Glück! –

Verwandte Themen