繁体   English   中英

在WebView中使用Javascript从HTML页面更改数据

[英]Change data from html page with Javascript in WebView

在我的Android application ,我需要为一个功能使用WebView 但是我想翻译这个网页 所以我做Javascript代码remplace "MyValueEN""MyValueFR"string.xml ,但我不能使用getResources.GetString(...)

我的代码示例:

String js_string = "javascript:\n" +
            "document.getElementsByClassName('Div1')[0].style.display='none';\n" +
            "document.getElementsByClassName('Div2')[0].style.display='none';void(0)" +
            "document.body.innerHTML = document.body.innerHTML.split(\"MyTextToChange\").join("+ getResources().getString(R.string.MyTextToChange) + ");void(0);"; //It's here the error

当我调用getResources().getString(R.string.MyTextToChange") ,出现错误:

java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.test/com.test}: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.Resources android.content.Context.getResources()' on a null object reference
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.Resources android.content.Context.getResources()' on a null object reference

我可以在Javascript代码中使用getRessources()吗? 我做错了吗? 或者我需要使用其他功能?

谢谢你的帮助

您将需要初始化

getResources().getString(R.string.MyTextToChange)

在onCreate内部,以防您在外部对其进行初始化

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM