当前位置: 代码迷 >> Android >> Android应用程式提供I / InjectionManager吗? 屏幕上的dispatchCreateOptionsMenu
  详细解决方案

Android应用程式提供I / InjectionManager吗? 屏幕上的dispatchCreateOptionsMenu

热度:73   发布时间:2023-08-04 09:54:08.0

我正在开发应用程序,在为我的应用程序实现菜单时,我在某些屏幕上隐藏了一些菜单项,为此,我正在使用以下代码:

@Override
    public boolean onPrepareOptionsMenu(Menu menu) {
        MenuItem search = menu.findItem(R.id.action_search);
        search.setVisible(false);
        MenuItem create_opportunity = menu.findItem(R.id.menu_example);
        create_opportunity.setVisible(false);
        //this.invalidateOptionsMenu();
        return super.onPrepareOptionsMenu(menu);
    }

当我取消注释此invalidatinoptionsmenu行时,它开始提供I / InjectionManager吗? 连续在应用程序的日志中进行dispatchCreateOptionsMenu。 我可以知道,因此电池也可以消耗吗? ,此日志仅在三星手机中显示。

感谢您的投入。

我正在使用自己的应用程序处理类似的问题。 几乎说明了一切:

当事件发生并且您想要执行菜单更新时,必须调用invalidateOptionsMenu()来请求系统调用onPrepareOptionsMenu()。

因此从onPrepareOptionsMenu调用invalidateOptionsMenu()将创建一个无限循环。

  相关解决方案