我正在使用带有Android 4.4(Kitkat)的webview来查看htmls,并使用javascript进行搜索,突出显示等等。当我在onReceiveValue里面的字符串s选择的字符串相等时,所选的仍然是空的,那么如何从onReceiveValue中获取字符串s到我的android代码
这是我的代码:
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 :(得分: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!
}}
);