2010-07-19 116 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