2011-06-18 5 views
0

ブラックベリーAPIを学んで、ブラックベリーの開発サイトのチュートリアルに従おうとしています。ちょっと混乱します。インターフェイスのチュートリアルでは、彼らはBlackberry API/MenuItems

private MenuItem _changeCapitol = new MenuItem("Change Capitol", 110, 10) 
{ 
    public void run() 
    { 
     if (displayed == 0) 
      _canadaCapitol = _input.getText(); 
     else if (displayed == 1) 
      _ukCapitol = _input.getText(); 
     else if (displayed == 2) 
      _usCapitol = _input.getText(); 
    } 
}; 

...メニュー項目を作成するための次の命令を与え、それがすべての桃だと今の作品。問題は、MenuItemの作成に使用されたメソッドが非推奨であることです。すべてのチュートリアルは4.0のようです。これを適切な方法で行うことを学びたかったので、6.0 APIリファレンスを参照してください。私はこれを現在のメソッドに変換しようとしましたが、それを正しく取得できません。ここでは...私が来ている最も近い

private MenuItem _changecapitol = new MenuItem(new StringProvider("Change Capitol"), 110, 10); 
changecapitol.setCommand(new Command(CapitolChange())); 
class CapitolChange extends CommandHandler 
{ 
    public void execute(ReadOnlyCommandMetadata metadata, Object context) 
    { 
     if (displayed == 0) 
      _canadaCapitol = _input.getText(); 
     else if (displayed == 1) 
      _ukCapitol = _input.getText(); 
     else if (displayed == 2) 
      _usCapitol = _input.getText(); 
    } 

} 

本当にそこコンストラクタの括弧内のものになるはずですが、私はそれが何であるかを想像することはできませんかのように思えます。リファレンスが正しく理解されていれば、その機能はCommandHandlerの中に入ります。その部分が正しいと思います。今の問題は、EclipseがCapitolChangeコンストラクタの前にエラーを投げていることです。

changecapitol.setCommand(new Command(CapitolChange())); 

実際にこの行に複数のエラーが表示されています。 1つは間違った構文エラーで、もう1つは "setCommand"の後に "="が必要だと主張しています。これはAPIのどこにもなく、構文的に間違っているようです。私はメソッドを呼び出し、値を割り当てません。右?いいえ?私は全部で完全に間違っていますか?

答えて

0

間違った変数を使用しています。 "_changecapitol"でMenuItemを作成し、このchangecapitolで使用します。入力ミスを修正し、エラーを確認してください。

+0

タイプミスをうまくキャッチしても、エラーはまったく変更されませんでした。私はまだ2つのエラーが発生しています: トークンに構文エラーがあり、配置が間違っています と トークンの構文エラー "setCommand"、=このトークンの後に期待されています –

0

私は、コンパイルエラーはコマンドが割り当てられていために不適切な場所で発生していると思う:それは右のMenuItemのメンバ宣言の後にクラスの宣言部のどこかに置かれているので

changecapitol.setCommand(new Command(CapitolChange())); 

。 他の場所にコマンドを割り当てるようにしてください。多分、画面のコンストラクタにコマンドを割り当ててください。

+0

プレースメントは公式APIリファレンスごとです。 –