#android #android-studio
Вопрос:
@Override
public void onActionModeStarted(ActionMode mode) {
super.onActionModeStarted(mode);
if (AppUtil.isChromebookEnvironment() || bookInfoData.getContentImageType().trim().equalsIgnoreCase("ImageBased")) {
mode.finish();
}
TenantReaderManager multiTenancyReaderManager = TenantReaderManager.getInstance();
selectionModeBar = mode;
if (pager.isPagingEnabled() == false) {
return;
}
// Customize the actionbar
Menu menu = selectionModeBar.getMenu();
menu.clear();
Resources res = getResources();
try {
Log.e("name", String.valueOf(menu.getItem(0).getTitle()));
} catch (Exception e) {
e.printStackTrace();
}
menu.add(0, ReaderConstants.KEY_HIGHLIGHT, 0, " " res.getString(R.string.native_reader_activity_popup_highlight)).setOnMenuItemClickListener(onMenuItemclick)
.setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
menu.add(0, ReaderConstants.KEY_NOTES, 0, " " res.getString(R.string.native_reader_activity_popup_note)).setOnMenuItemClickListener(onMenuItemclick)
.setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
try {
Log.e("name", String.valueOf(menu.getItem(0).getTitle()));
} catch (Exception e) {
e.printStackTrace();
}
}
- Отображается меню по умолчанию, пользовательские элементы(например, копировать, поделиться, выбрать все) не отображаются. Но заголовок печатается после добавления его в меню, при условии, что menu.clear() работает нормально, так как у меня есть инструкция журнала после menu.clear()
Этот код работает в Android 11 и ниже.
Комментарии:
1. После 2 дней исследований и разработок я получил решение, нам нужно аннулировать элемент режима действия после добавления в него пользовательского элемента. Аннулируйте содержимое, связанное с этим режимом действия. Это имеет смысл только для режимов действия, которые поддерживают динамическое позиционирование на экране, и обеспечивает более эффективный способ его изменения без аннулирования всего режима действия.
2. большое вам спасибо за ваш ответ. Я был в той же лодке. 2 дня ничего, пока я не увижу ваш комментарий. Именно то, что было нужно!