Пункт меню «Эспрессо»JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Пункт меню «Эспрессо»

Сообщение Anonymous »

У меня есть меню на панели действий, которое я создаю с помощью:

@Override
public boolean onCreateOptionsMenu(Menu menu) {

menu.add(Menu.NONE, 98,Menu.NONE,R.string.filter).setIcon(R.drawable.ic_filter_list_white_48dp).setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
menu.add(Menu.NONE, 99,Menu.NONE,R.string.add).setIcon(R.drawable.ic_add_white_48dp).setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);

getMenuInflater().inflate(R.menu.menu_main, menu);

return true;
}


и файл Menu_main.xml выглядит так:






При тестировании в Espresso я хотел бы щелкнуть значок «Добавить» (menuId 99). Я попробовал

@Test
public void testAdd() {
openActionBarOverflowOrOptionsMenu(InstrumentationRegistry.getTargetContext());
onView(withText(R.string.add)).perform(click());
}


но это не удается из-за исключения NoMatchingViewException. (Элемент настроек, который определен непосредственно в XML-файле, я могу щелкнуть с помощью того же кода.)

Это для targetSdkVersion 23 и AppCompatActivity. Соответствующие строки для панели инструментов:

Toolbar toolbar = (Toolbar) findViewById(R.id.tool_bar);
setSupportActionBar(toolbar);
if( getSupportActionBar() != null ) {
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}


иtool_bar.xml выглядит так:






Подробнее здесь: https://stackoverflow.com/questions/339 ... -menu-item
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»