#java #android #libgdx
#java #Android #libgdx
Вопрос:
Я получаю исключение NullPointerException при попытке создать пакет для строк локали на некоторых устройствах Android с SDK 27, 28 и 29.
Мой код для загрузки строк локали:
public LocaleManager() {
localeDefault = Locale.getDefault();
baseFileHandle = Gdx.files.internal("location/string");
}
public void loadLocales() {
if (localeDefault.getLanguage().equals("en")) {
locale = new Locale("", "", "");
} else if (localeDefault.getLanguage().equals("es")) {
locale = new Locale("es", "", "");
}
myBundle = I18NBundle.createBundle(baseFileHandle, locale, ENCODING);
}
При вызове createBundle(baseFileHandle, locale, ENCODING)
он вызывает исключение NullPointerException из-за этого из IN18Bundle.java
класса:
private static I18NBundle createBundleImpl (FileHandle baseFileHandle, Locale locale, String encoding) {
if (baseFileHandle == null || locale == null || encoding == null) throw new NullPointerException();
I18NBundle bundle = null;
I18NBundle baseBundle = null;
Locale targetLocale = locale;
...
Кажется baseFileHandle
, что это значение равно нулю при инициализации из Gdx.files.internal("location/string");
, но это происходит только на некоторых устройствах.
Любая помощь?