- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 ActionMode 的实现来显示多个在 RecyclerView 中选择项目。
我想知道什么时候点击 actionMode 中的后退按钮以相应地重置 recyclerView 但是在实现 ActionMode.Callback 时,我注意到每当更新 ActionMode 时都会调用 onDestroyActionMode 因此 actionMode?.setTitle ($selectedItems.size)
,这使得无法重置 recyclerView - 删除所选项目,删除覆盖颜色并通知 recyclerview 数据集已更改。
这是我的回调
inner class ActionModeCallback : ActionMode.Callback {
override fun onActionItemClicked(mode: ActionMode?, item: MenuItem?): Boolean {
when (item?.getItemId()) {
R.id.action_delete -> {
myAdapter?.deleteSelectedIds()
actionMode?.setTitle("") //remove item count from action mode.
actionMode?.finish()
return true
}
}
return false
}
override fun onCreateActionMode(mode: ActionMode?, menu: Menu?): Boolean {
val inflater = mode?.getMenuInflater()
inflater?.inflate(R.menu.action_mode_menu, menu)
return true
}
override fun onPrepareActionMode(mode: ActionMode?, menu: Menu?): Boolean {
menu?.findItem(R.id.action_delete)?.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS)
return true
}
override fun onDestroyActionMode(mode: ActionMode?) {
Log.d(TAG, "onDestroyActionMode Called")
//myAdapter?.selectedIds?.clear()
//myAdapter?.notifyDataSetChanged()
actionMode = null
}
}
我如何知道 ActionMode 后退按钮何时被点击?完整源代码在这里 => https://github.com/Edge-Developer/RecyclerViewMultiSelectExample
最佳答案
我的天哪。这是我的错,每次选择一个项目(通过 MainActivity 上的界面)时我都会启动一个新的 ActionMode,而不是在启动一个新的项目之前检查它是否已经启动。
这是我的代码
actionMode = startActionMode(ActionModeCallback())
这是更新后的代码
if (actionMode == null) actionMode = startActionMode(ActionModeCallback())
现在,onDestroyActionMode 仅在 actionMode 关闭后调用一次!
可以查看the github repo关于它是如何实现的
在 implementing multiselection on a recyclerView 时遇到了这个问题.
关于android - ActionMode.Callback 的实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49072285/
我想在 ActionMode 中添加一个下拉菜单,它看起来像 Android 官方 Gallery 应用程序中的下拉菜单,它允许您“选择所有”或“取消选择所有”图像。如下图所示: 我发现的唯一方法是通
我有一个列表 Activity ,用户可以在其中执行打开操作模式 A和 B .用户还可以打开操作模式 A然后B在它上面。 问题是当 Action 模式A显示并且操作模式 B 显示在其顶部,A当 B 时
我正在学习教程 11. Exercise: Using the contextual action mode 但是我有这个错误: mActionMode = Display.this.startAct
我正在使用“AppCompact”并实现“ActionMode.Callback”,我看到了 2 个具有相同覆盖方法的不同“ActionMode”。 “android.view.ActionMode”
我使用 startSupportActionMode(...) 在我的应用中启动 acion 模式。但是当我点击智能手机上的后退按钮时,操作模式被取消。 我发现了这个解决方案,但它对我不起作用。第二个
我在 ListView 中使用操作模式进行多选。我遇到的问题是,在模拟器上测试时,我指定为隐藏在我的操作模式菜单中的图标永远不会隐藏在溢出菜单中,尽管在预览中它是。我在这里使用 AppCompat 主
目前,操作模式工具栏显示在工具栏上方,将整个布局向下移动,我希望它显示在我当前工具栏的顶部。我尝试了 this post 中的所有解决方案和 this one : 我尝试使用带或不带 android:
在我的 Activity 中,我使用带有微调器而不是标题(在 xml 中定义)的 Toolbar(来自 appcompat)。该 Activity 不是 ActionBarActivity,因此我不将
我正在使用新的 android 支持库 21.0.2,当我调用 ActionMode 进行文本选择时,我得到了这个。 似乎标题 TextView 背景是透明的。 重新定义 ActionMode 的 t
我有启动 Action 模式的列表 fragment 。我正在使用 actionbarsherlock。但是当方向改变时,或者当我开始新的 Activity 时,上下文操作栏就会消失。有什么方法可以恢
我们如何更改 ActionMode 的布局或背景?有方法actionMode.getCustomView();但总是返回 null 。有什么建议吗? 最佳答案 您可以通过带有此属性的 styles.x
哎呀。当我将我的应用程序升级到 L 时,我用工具栏替换了 ActionBars,现在每当我启动 ActionMode 时,它都会下推所有内容。 (我想这是因为再次显示 ActionBar 是为了显
除了传统的 android 之外,我正在尝试将 android.view.ActionMode 与新的 android.support.v7.widget.Toolbar 一起使用.app.Actio
我为 ActionMode 编写了一个自定义菜单,并将其作为文本选择中的自定义 ActionMode 传递给 TextView.setCustomSelectionActionModeCallback
我正在使用 Android 的新小部件 Toolbar,我想更改它的 ActionMode 的背景和文本颜色(第一个奇怪的事情:ActionMode 不会使用默认的原色,它应该是默认行为...)。 我
我有一个 ActionMode 的实现来显示多个在 RecyclerView 中选择项目。 我想知道什么时候点击 actionMode 中的后退按钮以相应地重置 recyclerView 但是在实现
几天来我一直在尝试寻找 ActionMode 内存泄漏的根源,但没有成功。我有一个包含多个 fragment 的 Activity ,当我离开具有 ActionMode 的 fragment (同时自
有没有办法在不更改“正常”ActionBar 图标的情况下更改 ActionMode 溢出图标? 最佳答案 I still need to figure out how to only change
我有以下 Activity 布局:
我有一项新支持工具栏和抽屉导航的 Activity 。工具栏与内容相关,例如元素 list 。可以选择多个项目 - 然后显示 ActionMode(上下文操作栏)。然而系统的ActionMode位置、
我是一名优秀的程序员,十分优秀!