【问题标题】:Android code for getting Options Menu programmatically?以编程方式获取选项菜单的Android代码?
【发布时间】:2011-04-19 04:44:50
【问题描述】:

显示 Activity 后在 android 中以编程方式获取 Options Menu 的 Android 代码??

这可能吗? 提前致谢!!

【问题讨论】:

  • 是的,一切皆有可能。但我无法理解你想做什么?请正确解释。
  • 实际上我想使用代码从选项菜单中选择一个选项...
  • 你不能直接从菜单选项点击调用你正在调用的功能吗?
  • 好的,谢谢您的信息

标签: android menu


【解决方案1】:

我可以通过挂钩 onAttachedToWindow() 事件来打开菜单。这将在创建视图后自动触发。我使用了以下代码:

@Override
public void onAttachedToWindow() {
    super.onAttachedToWindow();
    try {
        ((Activity) this).openOptionsMenu();        
    } catch (Exception ex) {
        Log.e("ERR", "Error: " + ex.getMessage());
    }
}

当我尝试在“onCreate(...)”或“onPostCreate(...)”事件中打开选项菜单时,我收到以下错误:“无法添加窗口 -- 令牌 null 无效; 你的活动在进行吗?”在视图被绘制并注册到窗口之前,选项菜单似乎不可用。

顺便说一句,最好通过挂钩“onTouchEvent(Motion event)”来打开选项菜单,如下所示:

@Override
public boolean onTouchEvent(MotionEvent event) {
    ((Activity) this).openOptionsMenu();
    return super.onTouchEvent(event);
}

这样,如果用户点击或滑动活动,就会显示选项菜单。为了结束讨论,可以通过以下命令关闭选项菜单:

((Activity) mContext).closeOptionsMenu();

因此,可以使用以下命令“切换”选项菜单:

    ((Activity) this).openOptionsMenu();
    ((Activity) this).closeOptionsMenu(); 

好吧,我希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-31
    • 1970-01-01
    • 1970-01-01
    • 2013-12-16
    • 2011-03-09
    • 1970-01-01
    • 1970-01-01
    • 2012-08-12
    相关资源
    最近更新 更多