2010-07-19 121 views
1

我最近遇到了一些麻煩,我想我需要你的幫助:)。 我目前正試圖在對話框頂部顯示一個菜單,我知道啓動一個新的活動可能會容易得多,但這樣做會迫使我存儲/傳遞大量數據。 我設法通過編寫自定義對話框並重寫oncreateOptionMenu方法來顯示選項菜單。 我的問題是我無法得到任何聽衆這些按鈕,我試圖重寫onoptionitemselectedmethod但沒有任何反應。 Ps:我的對話框接近全屏,所以我看不到活動對話框(我沒有發現任何放在頂端的方法)對話菜單中的選項選項

我很樂意嘗試任何可以提供的解決方案。

非常感謝

回答

1

也許這小片段從我的應用程序可以幫助你:

private static final int REFRESH_ID = Menu.FIRST + 1; 

public boolean onCreateOptionsMenu(Menu menu) { 
    boolean result = super.onCreateOptionsMenu(menu); 
    menu.add(0, REFRESH_ID, 0, R.string.menu_refresh).setIcon(R.drawable.and_refresh); 
    return result; 
} 

public boolean onMenuItemSelected(int featureId, MenuItem item) { 
    switch (item.getItemId()) { 
    case REFRESH_ID: { 
     // Do whatever you want here! 
     return true; 
    } 
    } 
    return super.onMenuItemSelected(featureId, item); 
} 

正如你所看到的,我有一些常量,我的菜單項。這些項目將Menu.First + n數字視爲整數。對於每一件產品,我都會把它算起來。更容易,然後每次更改它;) 而在onMenuItemSelected中,您可以輕鬆切換這些常量。 希望有所幫助!

+0

你好,謝謝你的回答,但這不是我的問題所在,我會盡力讓自己清楚。 我有一個大致全屏的對話框。 當用戶按菜單按鈕時,我想要一個菜單​​。 當我設法使用onCreateOptionsMenu方法在自定義對話框中獲取菜單時。 單擊按鈕時,程序不會通過onOptionsItemSelected。 如果我不在對話框中,那麼你的代碼將會非常有用。 – Hush 2010-07-19 14:26:00

+0

起初,我沒有看到你的代碼和我的區別。事實是,我只是濫用onOptionsItemSelected而不是onMenuItemSelected函數。 非常感謝您的幫助! – Hush 2010-07-19 15:04:56

+0

沒問題:)希望能儘快看到幾個應用程序;) – 2010-07-20 12:40:40