[英]How to add your own function in ActionMode class in Android?
I want to implement an ActionMode
which acts as a selection mode
. 我想实现一个
ActionMode
作为selection mode
。 I want to add a function toggle()
in my ActionMode
which toggles the selection of my list. 我想在
ActionMode
添加一个功能toggle()
,以切换列表的选择。
my ActionMode
code: 我的
ActionMode
代码:
class Selection(/* some parameters */): ActionMode.Callback {
private val selectedPositions = ArrayList<Int>()
fun toggle(position: Int) {
if (selectedPositions.contains(position)) {
selectedPositions.remove(position)
} else {
selectedPositions.add(position)
}
}
override fun onActionItemClicked(mode: ActionMode, item: MenuItem): Boolean { /* some code */ }
override fun onCreateActionMode(mode: ActionMode, menu: Menu): Boolean { /* some code */ }
override fun onPrepareActionMode(mode: ActionMode?, menu: Menu?): Boolean = false
override fun onDestroyActionMode(mode: ActionMode?) { /* some code */ }
}
My problem is that I am not able to use the toggle()
function from my calling activity/fragment. 我的问题是我无法从我的通话活动/片段中使用
toggle()
函数。 For example: 例如:
private var actionMode: ActionMode? = null
// initialising action mode
if (actionMode == null) {
actionMode = activity!!.startActionMode(Selection(/* some parameters */))
}
// I am not able to do this
actionMode!!.toggle(position)
Because the function is on your Selection class, not the ActionMode class. 因为该函数在您的Selection类上,而不在ActionMode类上。 Call it on the instnce of the Selection class
在Selection类的实例上调用它
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.