2014-11-10 5 views
1

Я использую webview с Android 4.4 (Kitkat) для просмотра htmls и использования javascript для поиска, выделения и т. Д. Когда я строка равна выбранной струнными там внутри onReceiveValue выбранный еще пуст, так как я могу получить строку s из onReceiveValue к моему андроида кодПустое полученное значение от функции оценкиJavascript в Android 4.4

Это мой код:

 String selected=""; 
    webview.evaluateJavascript("javascript:(function(){" 
     + "var txt = window.getSelection();" 
     +"return txt;" + 
     "})();" ,new ValueCallback<String>() { 
     @Override 
     public void onReceiveValue(String s) { 
     Log.d("LogName", s); //s is empty! 
     selected=s; 
    }} 
    ); 

Большое спасибо.

ответ

0

Проблема window.getSelection() возвращает объект, который необходимо передать в строку.

theWebView.evaluateJavascript("javascript:(function(){" 
     + "var selObj = window.getSelection();" 
     + "var selTxt = selObj.toString();" 
     + "return selTxt;" 
     + "})();" ,new ValueCallback<String>() { 
    @Override 
    public void onReceiveValue(String s) { 
     Log.d("LogName", s); //s is NOT empty! 
    }} 
); 
+0

Это означает, что я могу равным s по внешнему строковому значению в моем классе? – Ayman

Смежные вопросы