2011-01-04 15 views
0

私は、オプションメニューで活性を有しています。 onOptionsItemSelectedメソッドをオーバーライドし、メニュー項目(switch-caseブロック)にハンドラを追加します。しかし、あるハンドラでは別のメニュー項目にアクセスする必要がありますが、どうすればできますか? findViewByIdは、あなたのメニュー項目を作成するとき、あなたは属性(あなたのクラスのprivate分野の、すなわち1)でチェックしたいMenuItemを置くことができAndroidのオプションメニュー私のプロジェクトで

@Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     switch (item.getItemId()) { 
      case R.id.visit: 
        //how to access another MenuItem from here? 
        return true; 
       } 
... 
+0

はどのようにして、メニュー項目にアクセスすることができましたか?メニュー項目が選択された場合にのみ呼び出されますonOptionsItemSelected()、からそれをアクセスしている覚え。 – Chromium

答えて

2

を動作しません。この方法で、あなたがあなたの方法に入ると、あなたは他のメニュー項目に触れることができます。その、まだクリックされていないながら

+0

ありがとうございますが、アンドロイドにアクセスオプションメニューのネイティブメカニズムがある可能性がありますか?例えば、私はjavadocのつかむことができるものから、Activity.getOptionsMenu :) – Dmitriy

+0

のようなものは、そうは思いません。しかし私は、この問題にプライベートフィールドを使用することで問題はないと考えています。それは基本的なOOPです。 –

関連する問題