Android 在webview中使用strings.xml中的值

Android 在webview中使用strings.xml中的值,android,Android,我的应用程序正在使用webview并在资产/文件夹中加载本地html文件。 现在有没有办法在webview加载的html文件中使用res/strings.xml中的所有字符串 尝试了一些和谷歌一整夜,但还没有找到任何解决方案,这可能吗?就像@doc_180所说的,使用javascript将是一个不错的选择。这可能是一种注入字符串的好方法 但当然,您可以做一些更简单的事情,例如,传递给webview的HTML是: <body> <h1>$REPLACE_THIS&l

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


尝试了一些和谷歌一整夜,但还没有找到任何解决方案,这可能吗?

就像@doc_180所说的,使用javascript将是一个不错的选择。这可能是一种注入字符串的好方法

但当然,您可以做一些更简单的事情,例如,传递给webview的HTML是:

<body>
    <h1>$REPLACE_THIS</h1>
    ...

更新

结果他需要动态引用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";
    }
}

你说的使用是什么意思?在web视图中显示该值?如果是这样,只需使用Resource获取该字符串并将其作为内容传递给web视图。您希望如何使用该字符串?Webview和android对象可以使用javascript相互通信。(android示例中提供了演示)。比如说,我可以让一个按钮点击显示一条警报消息,这是我从android传来的(存储在string.xml中)。@xandy:是的,这就是我想做的,但我还没有找到正确的方法,也没有找到任何关于如何使用java中的字符串而不是舒尔如何将其传递到webviewhmmm中加载的html文件的例子。我来看看这个,但我不是舒尔,它会起作用的。我正在以这种方式加载webviev:webView.loadUrl(“file:///android_asset/findgps_en.html"); 我在我的应用程序中加载的本地html文件在一段时间后重定向到assets/folderi中的另一个本地html文件,这里可能缺少一些内容,但感觉这些示例适合更改/注入一个字符串。。。。但是我想做的是能够在我在webview中加载的html页面上使用res/strings.xml中的所有stings,所以没有人知道如何使使用webview加载的html文件能够使用/res/strings.xml中的所有字符串?使用all是什么意思?您可以使用上述方法替换一个字符串,但也可以使用相同的方法替换N个字符串。因为它可能最终会替换20-40个字符串。它只是觉得应该有一种更平滑的方法来完成
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";
    }
}