Как загрузить другой HTML-файл в другой среде Android? - PullRequest
1 голос
/ 11 января 2012

У меня есть несколько языковых html-файлов для разных языковых сред, и все эти html-файлы содержат изображения. Теперь я хочу показать подходящие HTML-файлы с WebView, адаптированные к текущему языку Android. Как я могу это сделать? Спасибо.

Ответы [ 3 ]

1 голос
/ 11 января 2012

Вы можете дать специальные имена для неанглийских файлов, таких как 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();
        }
    }
}
0 голосов
/ 10 февраля 2018

Вы можете использовать «строковые значения», чтобы получить зависимые от языка 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нужно.Я надеюсь, что это полезно и отвечает на вопрос.

0 голосов
/ 26 января 2018

Добавлен новый ответ, который должен быть более точным, приведя пример.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...