2013-12-12 19 views
5

Sto riscontrando un problema su dispositivi kitkat (Android 4.4) che eseguono la mia app. Il problema è che quando chiamo getHitTestResult() sulla mia webview restituisce null, dove come su qualsiasi altra versione di Android restituisce dati appropriati. Non sono sicuro che si tratti di un bug specifico di 4.4 o se c'è un lavoro attorno a cui qualcuno è a conoscenza. Ogni aiuto è molto apprezzato. Il codice è qui sotto:Su android 4.4 webView.getHitTestResult() restituisce null

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

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

lo fa tornare sempre nullo, o solo per alcuni tipi di contenuti quando è toccato? – ksasq

risposta

1

Ma, ce l'hai dentro un ascoltatore touch? Per quanto ne so, che solo il lavoro dopo che qualcosa è stato toccato (non nel preciso momento, ma qualcosa deve essere toccato)

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

Ciao, grazie per la risposta ... Avrei dovuto renderlo più chiaro nel codice, ma sì è all'interno di un ascoltatore touch ... Mi sembra solo che questa sia una cosa specifica 4.4 perché funziona bene su ogni altra versione che ho provato. Non sono sicuro che le visualizzazioni Web su kitkat si comportino diversamente ... – CalebeGeazi

+1

Quello che posso dire a questo punto, è che sta accadendo anche ad altre persone con 4.4. Ho 4.2 e non mi fido dell'emulatore, quindi temo di non poterti aiutare. Ma io raccomando di allegare i codici sorgente al debugger e di seguire passo dopo passo il codice generato dall'evento touch. Otterrai 3 cose: impara molto, diventa quasi matto e probabilmente trovi la tua soluzione. in bocca al lupo! –

Problemi correlati