在 Android 10 中手动调用 onCreateOptionsMenu

Calling onCreateOptionsMenu manually in Android 10

有什么方法可以强制框架调用我的片段的 onCreateOptionsMenu 方法。 我的问题是我正在用 onResume() 方法做一些工作,这需要一些时间。

    @Override
        protected void onResume() {
            Log.d(TAG,"onResume");
            super.onResume();
            //some work
        }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {

        Log.d(TAG,"onCreateOptionsMenu start");
        menu.add(Menu.NONE,132332,0,"ABCD").setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
        menu.add(Menu.NONE,132332,0,"ABC").setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER);
        Log.d(TAG,"onCreateOptionsMenu end");
        return super.onCreateOptionsMenu(menu);
    }

我观察到 onCreateOptionsMenuonResume() 方法完成后经过一段时间(如 1 秒)后被调用。这会导致在 UI 上显示选项菜单时稍有延迟。 那么,有什么办法可以强制框架调用我的片段的 onCreateOptionsMenu 方法。我在互联网上搜索过,但没有找到任何答案。

你应该打电话给invalidateOptionsMenu

你应该在后台线程中完成你的长期工作