我为不同的语言环境提供了一些不同的语言html文件,所有这些html文件都包含图像。现在我想用WebView显示合适的html文件,以适应Android的当前语言。我怎样才能做到这一点?感谢。
答案 0 :(得分:1)
您可以为德语等非英语文件指定特殊名称,例如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();
}
}
}
答案 1 :(得分:0)
添加了一个新答案,通过提供一个示例,应该更精确。
答案 2 :(得分:0)
您可以使用"字符串值"获取与Android语言相关的HTML文件名,而无需使用任何其他Java代码,只需使用getString()。以下是2种语言的示例:
在文件 values / strings.xml :
中<string name="html_help_basepage">en_help.html</string>
在文件 de / strings.xml :
中<string name="html_help_basepage">some_german_help.html</string>
等等......
对于您的Java代码(从资产文件夹中的本地文件加载,如上所述)
helpView = (WebView) findViewById(R.id.wv_help);
String adaptedToLanguage = getString(R.string.html_help_basepage)
helpView.loadUrl("file:///android_asset/" + adaptedToLanguage);
不需要额外的Java代码。我希望这有用并回答这个问题。