我对如何在黑莓应用程序中使用资源包感到茫然。我已经创建了一个扩展ResourceBundle并覆盖handleGetObject的类,但是当我说出像
这样的内容时ResourceBundle bundle = new EnglishBundle();
MenuItem example = new MenuItem(bundle, bundle.EXAMPLE, o, p);
addMenuItem(example);
我得到空指针异常。我做错了什么?
答案 0 :(得分:1)
假设您创建的资源包文件名为Local.rrc和Local.rrh。
您的课程需要实现LocalResource。是的,这只是我在上面选择的名称+资源。
E.g。
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选项卡,并将根据手机当前语言设置自动使用正确的字符串集。
答案 1 :(得分:0)
您可以为MenuItem使用不同的构造函数:
ResourceBundle bundle = new
ResourceBundle.getBundle(EnglishBundle.BUNDLE_NAME);
MenuItem example = new MenuItem(bundle, EnglishBundle.EXAMPLE, o, p);
addMenuItem(example);