我正在创建一个webview,它将根据应用上选择的语言加载本地html文件。我创建这个的方法是创建几个具有不同语言代码的文件夹" en,ms,cn,fr等..."然后更改getlanguage上的url基础。 binding.wvAboutUs.loadUrl("file:///android_asset/htmls/" + language + "/About_Us.html");
结果,如果getLanguage = en,那么网址将为b" file:///android_asset/htmls/en/About_Us.html"目前适用于我。
但是,可能会出现某种情况,htmls文件不适用于某种语言(我不想将"默认"文件放入该语言文件夹)。
我知道我可以执行检查 - 如果网址为空,则加载默认文件。应该检查在加载默认页面不存在之前存在其他语言的文件(en html文件)。
E.g file:///android_asset/htmls/fr/About_Us.html找不到文件然后加载默认文件:///android_asset/htmls/en/About_Us.html。
答案 0 :(得分:1)
您可以执行以下操作以使其正常工作
AssetManager mg = getResources().getAssets();
InputStream is = null;
try {
is = mg.open("htmls/fr/About_Us.html");
//File exists so do something with it
binding.wvAboutUs.loadUrl("file:///android_asset/htmls/fr/About_Us.html");
} catch (IOException ex) {
//file does not exist
binding.wvAboutUs.loadUrl("file:///android_asset/htmls/en/About_Us.html");
} finally {
//must close the stream
if (is != null) {
is.close();
}
}