Загрузите локальный HTML-файл в базе веб-просмотра на языке, используйте значение по умолчанию, если файл не найден - PullRequest
0 голосов
/ 27 апреля 2018

Я создаю веб-просмотр, который будет загружать локальный HTML-файл на основе языка, выбранного в приложениях. Я создаю несколько папок с разным языковым кодом «en, ms, cn, fr и т. Д.», А затем меняю базу URL-адресов на getlanguage. binding.wvAboutUs.loadUrl("file:///android_asset/htmls/" + language + "/About_Us.html"); В результате, если getLanguage = en, то URL будет b "file: ///android_asset/htmls/en/About_Us.html", который в настоящее время работает для меня.

Однако в некоторых случаях файл htmls недоступен для определенного языка (и я не хочу помещать файл «по умолчанию» в эту языковую папку).

Любая идея, я могу выполнить проверку - если URL-адрес пуст, то загрузить файл по умолчанию. Необходимо проверить, существует ли файл для других языков, прежде чем загрузится страница по умолчанию, если она не существует (en html file).

E.g file: ///android_asset/htmls/fr/About_Us.html файл не найден, затем загрузите файл по умолчанию: ///android_asset/htmls/en/About_Us.html.

1 Ответ

0 голосов
/ 27 апреля 2018

Вы можете сделать следующее, чтобы оно заработало

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();
  }

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