2014-11-10 2 views
1

Android 4.4 (Kitkat)에서 webview를 사용하여 HTML을보고 javascript를 사용하여 검색, 강조 표시 등을하고 있습니다.Android에서 evaluateJavascript 함수의 수신 값이 비어 있음.

 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; 
    }} 
    ); 

많은 감사하십시오 내가 내 안드로이드 코드

밖으로 문자열의 onReceiveValue에서 얻을 수 있도록하는 방법을 여전히 빈 선택 onReceiveValue 내가 문자열의 내부에 의해 선택된 문자열을 동일하면이 내 코드입니다.

답변

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