Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在不同语言的Android环境中加载不同的html文件?_Android_Html_Image_Webview - Fatal编程技术网

如何在不同语言的Android环境中加载不同的html文件?

如何在不同语言的Android环境中加载不同的html文件?,android,html,image,webview,Android,Html,Image,Webview,我有一些针对不同语言环境的不同语言html文件,所有这些html文件都包含图像。现在我想用WebView显示适合Android当前语言的html文件。我该怎么做?谢谢。您可以为非英语文件指定特殊名称,如德语的file-de.html,然后使用以下代码: private static String getFileName() { Configuration config = getResources().getConfiguration(); InputStream stream

我有一些针对不同语言环境的不同语言html文件,所有这些html文件都包含图像。现在我想用WebView显示适合Android当前语言的html文件。我该怎么做?谢谢。

您可以为非英语文件指定特殊名称,如德语的
file-de.html
,然后使用以下代码:

private static String getFileName() {
    Configuration config = getResources().getConfiguration();
    InputStream stream = null;
    try {
        String name = "file-" + config.locale.getLanguage() + ".html";
        stream = getAssets().open(name);
        return name;
    } catch (IOException exception) {
        return "file.html";
    } finally {
        if (stream != null) {
            stream.close();
        }
    }
}

您可以为非英语文件指定特殊名称,如德语的
file-de.html
,然后使用以下代码:

private static String getFileName() {
    Configuration config = getResources().getConfiguration();
    InputStream stream = null;
    try {
        String name = "file-" + config.locale.getLanguage() + ".html";
        stream = getAssets().open(name);
        return name;
    } catch (IOException exception) {
        return "file.html";
    } finally {
        if (stream != null) {
            stream.close();
        }
    }
}

添加了一个新的答案,通过提供一个示例应该更精确。

添加了一个新的答案,通过提供一个示例应该更精确。

您可以使用“字符串值”来获取依赖于Android语言的HTML文件名,而无需使用任何其他java代码,只需使用getString()。以下是两种语言的示例:

在文件values/strings.xml中:

不需要额外的Java代码。我希望这对您有所帮助,并回答了这个问题。

您可以使用“字符串值”获取依赖于Android语言的HTML文件名,而无需使用任何额外的java代码,只需使用getString()。以下是两种语言的示例:

在文件values/strings.xml中:


不需要额外的Java代码。我希望这有助于回答问题。

谢谢Pixie。这是解决我问题的一个好方法:)我们有没有其他更好的方法来解决这个问题而不必编写java代码,比如将资产文件夹重新命名为“资产de”,系统可以自动知道如何适应不同的lanugange?(我知道文件夹“资产de”不能工作,只是一个例子:)我不知道任何更好的方法,所以我在我的项目中使用这个方法。但你可以试着找到更好的解决办法。如果您在搜索中成功,请告诉我。谢谢Pixie。这是解决我问题的一个好方法:)我们是否有其他更好的方法来解决它而不必编写java代码,例如将资产文件夹重新命名为“assets de”,系统可以自动知道如何适应不同的lanugange?(我知道foler“assets de”不能工作,只是一个例子:)我不知道任何更好的方法,所以我在我的项目中使用这个方法。但你可以试着找到更好的解决办法。如果你这次搜索成功,请告诉我。
<string name="html_help_basepage">some_german_help.html</string>
helpView = (WebView) findViewById(R.id.wv_help);
String adaptedToLanguage = getString(R.string.html_help_basepage)        
helpView.loadUrl("file:///android_asset/" + adaptedToLanguage);