2011-03-17 47 views
1

菜單選項在菜單上不可見btn點擊,除非它被聚焦。菜單不會顯示,除非羣組活動被集中


     @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // TODO Auto-generated method stub 
    System.out.println(" in menu");  
    new MenuInflater(this.getParent()).inflate(R.menu.sample, menu); 
     return (super.onCreateOptionsMenu(menu)); 

    }  

回答

0

日誌在每次你的小組活動的onkeydown方法時,按菜單 那麼你可以跟蹤這是怎麼回事

必須有一個活動收到按鍵事件,你應該看一看 ,你可以看到這article

父的ActivityGroup:

@Overridepublic boolean onCreateOptionsMenu(Menu menu) { 
     Log.d(TAG, "in parent"); 
    menu.clear(); 
    return getCurrentActivity().onCreateOptionsMenu(menu); 

}


孩子的ActivityGroup:

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    getMenuInflater().inflate(R.menu.menu_gionew, menu); 
    Log.d(TAG, "in childA"); 
    return true; 
} 

+0

shud我實現onkeylistener所有GRP活動,要做到這一點.. – Majid 2011-03-17 09:57:07

+0

我已經implented的onkeydown方法與print語句的每一次活動中it..but點擊菜單BTN犯規應對任何打印的語句 – Majid 2011-03-17 09:59:19

+0

thanx的答覆和我實現ABV代碼,但它仍然無法正常工作。但我做obsvertion,文我改變選項卡,並返回searchresult活動,然後單擊菜單btn然後它工作fine.it似乎我的tabbar活動shud在上面.. – Majid 2011-03-17 14:59:20

3

嘗試閱讀這篇博客:http://ericharlow.blogspot.com/2010/09/experience-multiple-android-activities.html

如果菜單沒有出現在ActivityGroup的子活動中,只需重寫ActivityGroup中的onCreateOptionsMenu和onOptionsItemSelected方法即可調用當前子活動的相應方法。

以下是你需要什麼,在你的ActivityGroup類添加:

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    return this.getCurrentActivity().onCreateOptionsMenu(menu); 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    return this.getCurrentActivity().onOptionsItemSelected(item); 
} 

就是這樣。現在在您的每個子活動中按照自己的喜好實施這些方法,它應該可以正常工作。

+0

謝謝!解決了我的問題! – jonney 2011-07-26 10:04:50

+0

謝謝!這解決了我的問題! – CVertex 2011-11-02 07:15:30