Android ActivityGroup 菜单问题

标签 android menu android-activity

我在使用 ActivityGroup 时遇到一个问题。我在 ActivityGroup 中有两个 Activity ,它们都使用菜单(覆盖 onCreateOptionMenu 和 onOptionsItemSelected)。

嗯,问题是当我按下菜单键时,组中的第二个 Activity 没有显示菜单。第一个 Activity 显示菜单效果很好。

对这个问题有什么想法吗?

我在 child Activity 中有这段代码:

    @Override
public boolean onCreateOptionsMenu(Menu menu) {
    boolean result = super.onCreateOptionsMenu(menu);
    menu.add(0, MENU_REFRESH, 0, R.string.menu_refresh).setIcon(R.drawable.ic_menu_refresh);
    return result;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
    case MENU_REFRESH:
        Log.d(TAG,"REFRESH");
        refresh();
        return true;
    }
    return super.onOptionsItemSelected(item);
}

最佳答案

另一种处理此问题的好方法是使用 ActivityGroup 的 LocalActivityManager。获取本地 Activity 管理器,获取当前 Activity ,并执行该 Activity 的适当方法:

public boolean onPrepareOptionsMenu(Menu menu) {
    //super.onPrepareOptionsMenu(menu);
    return getLocalActivityManager().getCurrentActivity()
        .onCreateOptionsMenu(menu);
}

public boolean onCreateOptionsMenu(Menu menu) {
    //super.onCreateOptionsMenu(menu);
    return getLocalActivityManager().getCurrentActivity()
        .onCreateOptionsMenu(menu);
}

public boolean onMenuItemSelected(int featureId, MenuItem item) {
    //super.onMenuItemSelected(featureId, item);
    return getLocalActivityManager().getCurrentActivity()
        .onMenuItemSelected(featureId, item);
}

注意:使用此策略,您不得从子 Activity 调用 super.onCreateOptionsMenu - 这样做会导致堆栈溢出异常。我不确定调用父类(super class)的 on* 方法的目的是什么,因为我省略了它们并且没有看到任何负面结果。 (……还)

关于Android ActivityGroup 菜单问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3157406/

相关文章:

android - 使用 bundle 将 fragment 之间的数据传递给另一个 fragment 示例

android - Android Release模式下的 MvxException

html - css,匹配菜单顶部

jquery - 响应式导航栏切换无法正常工作

html - CSS。悬停时菜单文本颜色不变或菜单文本颜色变化

java - 通过单击另一个 Activity 中的按钮将项目添加到一个 Activity 中的 fragment 中的 ListView

android - onActivityResult 的问题

android - OneSignal 导致 Google Play 服务版本发生变化

android - 如何在 android 中单击图像按钮时从视频 url 播放视频?

android - 如何在离开 Activity 之前清除图库 View ?