Robolectric :: LayoutInflator.inflate () висит в onCreateOptionsMenu - PullRequest
0 голосов
/ 01 мая 2019

Я тестирую код своего приложения для Android с помощью robolectric.В одном из действий есть инфляция макета в onCreateOptionsMenu действия.

Я пытаюсь протестировать этот код, используя:

activityController.create().resume().visible()

Вот содержимое onCreateOptionsMenu:

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        LayoutInflater inflater = LayoutInflater.from(this);
        View v = inflater.inflate(R.layout.custom_action_bar, null);
        return super.onCreateOptionsMenu(menu);
    }

Но выполнение зависает в строке inflater.inflate(R.layout.custom_action_bar, null).Странно то, что этот же код при вставке в метод onCreate работает безупречно.

Может кто-нибудь помочь мне с тем, в чем здесь может быть проблема?Я новичок в Robolectric и Android.

1 Ответ

0 голосов
/ 05 мая 2019

onCreateOptionsMenu() предназначен для создания меню из MenuInflater. Использование LayoutInflater.from(this) - это запах кода.

См. https://developer.android.com/guide/topics/ui/menus#options-menu

...