Вызов onCreateOptionsMenu вручную в Android 10 - PullRequest
1 голос
/ 11 октября 2019

Есть ли способ заставить framework вызывать метод 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);
    }

Я заметил, что onCreateOptionsMenu вызывается через некоторое время (например, через 1 секунду) после onResume()Метод закончен. Это вызывает небольшую задержку отображения меню опций в пользовательском интерфейсе. Итак, есть ли способ заставить фреймворк вызвать метод onCreateOptionsMenu моего фрагмента. Я искал об этом в Интернете, но не нашел никакого ответа.

Ответы [ 2 ]

0 голосов
/ 11 октября 2019

ты должен делать свою долгую работу на заднем плане

0 голосов
/ 11 октября 2019

Вы должны позвонить invalidateOptionsMenu

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...