我的应用正在使用webview并在assets /文件夹中加载本地html文件。 现在有没有办法在html文件webview中加载res / strings.xml中的所有字符串?
尝试了一些整个晚上谷歌,但是他们已经找到了任何解决方案,它甚至可能吗?
答案 0 :(得分:1)
喜欢@ doc_180说,使用javascript将是一个很好的选择。这个example可以作为注入字符串的好方法。
但是,当然,您可以更轻松地做一些事情,例如,您传递给webview的HTML是:
<body>
<h1>$REPLACE_THIS</h1>
...
然后,您可以在将html附加到webview以获取自己的注入字符串之前,简单地执行字符串替换/正则表达式替换。
E.g。
String html = ... // Any method to load the html file into string
html = html.replace("$REPLACE_THIS", getResouces().getString(R.string.replacement));
webview.loadData(html, "text/html", "utf-8");
更新
事实证明他需要动态引用R.string中的常量字符串;以下是它的完成方式:
public String getStringFromRes(String name){
try{
int resId = R.string.class.getField(name).get(null);
return getResources().getString(resId);
}catch(Exception e){
// no such string
return "empty";
}
}