Я пытаюсь настроить контекстную панель действий, когда долго нажимаю на элемент в recyclerview. Но значок меню не отображается.
Код приведен ниже.
listAdapter.setOnItemClickListener(object : OnItemClickListener {
override fun onItemClick(position: Int) {
...
}
override fun onItemLongClick(position: Int): Boolean {
if (actionMode != null) {
return false
}
val activity = activity as AppCompatActivity
actionMode = activity.startSupportActionMode(actionModeCallback)
return true
}
})
Обратный вызов в режиме действия
internal val actionModeCallback = object : ActionMode.Callback {
override fun onActionItemClicked(mode: ActionMode?, item: MenuItem?): Boolean {
when (item?.itemId) {
R.id.item_delete -> {
actionMode?.finish()
return true
}
}
return false
}
override fun onCreateActionMode(mode: ActionMode?, menu: Menu?): Boolean {
actionMode?.menuInflater?.inflate(R.menu.menu_context, menu)
actionMode?.title = "delete"
return true
}
override fun onPrepareActionMode(mode: ActionMode?, menu: Menu?): Boolean {
return false
}
override fun onDestroyActionMode(mode: ActionMode?) {
actionMode = null
}
}
menu_context.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/item_delete"
android:title="@string/menu_option_text_delete"
android:icon="@drawable/ic_delete_white_24dp"
app:showAsAction="always"
/>
</menu>
Что я пробовал?
- использование версии библиотеки без поддержки для
Activity
иActionMode
- попытался изменить фон режима действия, чтобы увидеть, не связана ли проблема с темой
- установите SHOW_AS_ACTION_ALWAYS в onPrepareActionMode
Не сработало, даже заголовок режима действия не показывается.
Я использую androidx, версия appCompat: 1.1.0-rc01
Пожалуйста помоги!