Blackberry MenuItem已弃用

hal*_*aya 0 blackberry jde java-me

我正在尝试使用BlackBerry JDE 6.0的MenuItem类,我遇到错误"构造函数MenuItem String(String,int,int)已被弃用".我正在使用MainScreen类下的子类实现它.以下是不推荐使用的示例代码:

public class UiFunMainScreen extends MainScreen{

   class LoginMenuItem extends MenuItem {

    public LoginMenuItem() {

    super("Login", 20, 10);
    }

    public void run() {
    login();
    }
}
class ClearMenuItem extends MenuItem {

    public ClearMenuItem() {
    super("Clear", 10, 20);
    }

    public void run() {
    clearTextFields();
    }
}
} 
Run Code Online (Sandbox Code Playgroud)

Rup*_*pak 5

使用以下版本的代码创建MenuItem:

class MyUiScreen extends MainScreen
 {
     public MyUiScreen()
     {
         MenuItem myItem = new MenuItem(
                 new StringProvider("My Menu Item"), 
                 0x230000, 
                 0
             );
 // rest of codes...
Run Code Online (Sandbox Code Playgroud)

来自RIM BlackBerry API 6.0文档

通过子类化和实现Runnable来创建菜单项

如果对扩展类进行子类化,则必须实现Runnable接口,该接口又支持在激活时自动调度菜单操作.

...
// setup the menu items
MenuItem item = new MyMenuItem();
menu.addItem(item);
...
class MyMenuItem extends MenuItem {
    MyMenuItem() {
        super(MyResourceBundle.getBundle(), MyResource.MY_MENU_ITEM, 0x230000, 0);
    }
    public void run() {
        // do something
    }
}
Run Code Online (Sandbox Code Playgroud)

探索API.