android - 在 Android 8 设备的应用程序中更改语言后无法获取原始文件夹文件
问题描述
我正在开发一个支持 2 种语言英语和德语的应用程序。我正在从 raw 文件夹中加载一些 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 上运行。任何帮助,将不胜感激。
解决方案
您可以尝试像这样读取原始文件:
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", "");
推荐阅读
- visual-studio - 使用 Qemu 在 Ubuntu 上的 Visual Studio Professional 远程调试 Arm64 程序
- sql - SQL Server 透视所有表列
- html - Flex div 没有占据其父级的全高
- apache - .htaccess Vanity/Nice URLs 导致 404 错误成为主页
- javascript - 如何通过仅在用户滚动到特定部分时调用它来减少谷歌地图 API 命中数
- excel - 如果工作表中的一个单元格不等于0,我该如何做减法
- laravel - 不能一下子在 laravel 宅基地上流浪
- javascript - 在 bit.dev 上安装一个导出的组件时未定义 React
- javascript - 如何在对数图表类型中禁用科学记数法
- jquery - 更新输入和窗口加载时在多个位置更新文本