Как вы используете ресурсный пакет ежевики? - PullRequest
2 голосов
/ 15 апреля 2011

Я в растерянности относительно того, как использовать ресурсный пакет в приложении ежевики.Я создал класс, который расширяет ResourceBundle и переопределяет handleGetObject, но затем, когда я говорю что-то вроде

ResourceBundle bundle = new EnglishBundle();
MenuItem example = new MenuItem(bundle, bundle.EXAMPLE, o, p);
addMenuItem(example);

, я получаю исключения нулевого указателя.Что я делаю не так?

Ответы [ 2 ]

1 голос
/ 17 апреля 2011

Допустим, созданные вами файлы комплекта ресурсов называются Local.rrc и Local.rrh.

Вашему классу нужно будет реализовать LocalResource. Да, это просто имя, которое я выбрал выше + Ресурс.

* 1005 Е.Г. *

public class FooScreen extends MainScreen implements LocalResource {

private static ResourceBundle _res = ResourceBundle.getBundle(BUNDLE_ID, BUNDLE_NAME);

...

System.out.println(_res.getString(SOMESTRING)); // where SOMESTRING exists in your resource file

Имена файлов здесь явно важны, предполагая, что по умолчанию для английских строк указан файл по умолчанию, испанский файл должен называться Local_es.rrc. Создание этого файла даст вам вкладку es на экране редактирования строк и будет автоматически использовать правильный набор строк в зависимости от текущей настройки языка телефона.

0 голосов
/ 14 мая 2011

Вы можете использовать другой конструктор для MenuItem:

ResourceBundle bundle = new
    ResourceBundle.getBundle(EnglishBundle.BUNDLE_NAME);
MenuItem example = new MenuItem(bundle, EnglishBundle.EXAMPLE, o, p);
addMenuItem(example);
...