gpt4 book ai didi

html - 在Android中动态替换html中的字符串

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:42:52 26 4
gpt4 key购买 nike

我正在使用“loadDataWithBaseUrl(...)”将存储在 Assets 中的 html 文件加载到 Webview。其中包含一个字符串“Loading...”和一个旋转的 GIF。字符串“Loading...”是硬编码的,不会本地化。如何动态替换该字符串,以便对其进行本地化?

请帮我解决这个问题。

最佳答案

我可以想到各种解决方案:

  • 根据当前语言加载不同的 Assets 文件(使用 Locale.getDefault() 获取当前语言),这样您就可以独立翻译您的 HTML 文件。

  • 在您的 HTML 文件中使用占位符(例如#loading_message#),然后以字符串形式加载 Assets 文件,用适当的本地化消息替换所有出现的占位符 (String.replaceAll("#loading_message #", getText(R.string.loading_message).toString())),最后使用loadData(String data, String mimeType, String encoding)函数将处理后的HTML加载到WebView中。

要加载 Assets 文件,您可以执行类似 that 的操作:

File f = new File("file:///android_asset/my_file.html");        
FileReader fr = new FileReader(f);
BufferedReader br = new BufferedReader(fr);

StringBuffer sb = new StringBuffer();
String eachLine = br.readLine();

while(eachLine != null) {
sb.append(eachLine);
sb.append("\n");
eachLine = br.readLine();
}

// sb.toString is your HTML file as a String

关于html - 在Android中动态替换html中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4275366/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com