在Android 8设备的应用程序中更改语言后,无法获取原始文件夹文件

时间:2019-02-01 08:18:49

标签: android

我正在开发一种支持2种语言的英语和德语应用程序。我正在从原始文件夹加载一些html文件,以在webview中显示它。为此,我创建了2个原始文件夹,即“ raw”和“ raw-de”。在Pre-Oreo设备上更改语言后,它将从相应的原始文件夹正确加载html,但在Oreo上不起作用。下面是从原始文件夹加载html文件的代码。

txt_desc.loadUrl("file:///android_res/raw/what_is_ergo.html");

我无法弄清楚如何使其在Android 8.0上运行。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

您可以尝试这样读取原始文件:

byte[] buffer = new byte[1024];
StringBuilder builder = new StringBuilder();
val inputStream = context.getResources().openRawResource(R.raw.what_is_ergo);

while (it.read(buffer) != -1) {
   builder.append(String(buffer));
}

txt_desc.loadDataWithBaseURL("", builder.toString(), "text/html", "UTF-8", "");