#android #kotlin #android-actionmode
#Android #kotlin #android-actionmode
Вопрос:
У меня проблема в том, что при установке заголовка для режима действия в первый раз, вскоре после его создания, идентификатор не отображает заголовок. Другой запрос для этого работает нормально, только первый. Я делаю это с помощью:
actionMode?.title = text
Проблема не в том, что ActionMode не инициализируется, потому что я проверил это (если закрыть ActionMode и открыть его снова, он отлично работает). Не отображается только первый заголовок.
Мой ActionMode настроен на наложение панели инструментов в теме моего приложения следующим образом:
<item name="windowActionModeOverlay">true</item>
Если я установлю для него значение false, все будет работать так, как должно, показывая заголовок, когда он должен быть.
Но мне действительно нужно, чтобы этот ActionMode перекрывал панель инструментов.
У кого-нибудь была подобная проблема?
Кроме того, макет состоит из CoordinatorLayout
, внутри которого есть RecyclerView
. Если я завершу RecyclerView
, NestedScrollView
проблема, похоже, исчезнет.
Ответ №1:
Я создал временное исправление для этого, оно не решает проблему, но оно работает, так что оно вроде как работает.
override fun onCreateActionMode(mode: ActionMode?, menu: Menu?): Boolean {
mode?.menuInflater?.inflate(R.menu.action_menu, menu)
mode?.title = "--" //temporary fix
return true
}
Установка заголовка до того, как я установлю фактический, похоже, решает проблему. Это не сработает, если строка короче двух символов.
Ответ №2:
Недавно я также использовал ActionMode с RecycleView, я ссылался на эту статью
https://medium.com/over-engineering/using-androids-actionmode-e903181f2ee3
К ВАШЕМУ сведению, http://prntscr.com/vr51b7