使用webview中strings.xml的值

时间:2011-02-06 03:37:31

标签: android

我的应用正在使用webview并在assets /文件夹中加载本地html文件。 现在有没有办法在html文件webview中加载res / strings.xml中的所有字符串?

尝试了一些整个晚上谷歌,但是他们已经找到了任何解决方案,它甚至可能吗?

1 个答案:

答案 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";
    }
}