从片段调用 startActionMode
Call startActionMode from a fragment
我正在尝试在单击按钮时从片段启动上下文操作模式菜单。我不确定如何从片段中的 onClick 方法调用“startActionMode()”。
我的片段
class MyFragment : Fragment() {
...
private var mActionMode: ActionMode? = null
// when this button is clicked it should launch the Contextual Action Bar (CAB)
fun myCAB() {
// Check to see CAB is currenty active.
if(mActionMode != null) return
mActionMode = mActivity.startActionMode(actionModeCallback)
}
// ActionMode.Callback interface, handles actions for contextual CAB
private val actionModeCallback: ActionMode.Callback = object : ActionMode.Callback {
...
}
}
我试过使用
- 需要Activity,
- 从 onAttach(activity: Activity),
引用 activity
两个选项return一个类型不匹配。
必填:androidx.appcompt.view.ActtionMode?
找到:android.view.ActionMode?
您可以施放 Activity 然后调用 startSupportAction 模式。
mActionMode = (activity as MainActivity?)!!.startSupportActionMode(actionModeCallback)
代码如下所示。
class MyFragment : Fragment() {
...
private var mAction: ActionMode? = null
fun myCAB() {
if(mActionMode!= null) return
// as casts the type if is successful or returns null
mAction = (activity as MainActiivty?)!!.startSupportActionMode(actionModeCallback)
}
private val actionModeCallback: ActionMode.Callback = object : ActionModeCallback {
...
}
}
我正在尝试在单击按钮时从片段启动上下文操作模式菜单。我不确定如何从片段中的 onClick 方法调用“startActionMode()”。
我的片段
class MyFragment : Fragment() {
...
private var mActionMode: ActionMode? = null
// when this button is clicked it should launch the Contextual Action Bar (CAB)
fun myCAB() {
// Check to see CAB is currenty active.
if(mActionMode != null) return
mActionMode = mActivity.startActionMode(actionModeCallback)
}
// ActionMode.Callback interface, handles actions for contextual CAB
private val actionModeCallback: ActionMode.Callback = object : ActionMode.Callback {
...
}
}
我试过使用
- 需要Activity,
- 从 onAttach(activity: Activity), 引用 activity
两个选项return一个类型不匹配。 必填:androidx.appcompt.view.ActtionMode? 找到:android.view.ActionMode?
您可以施放 Activity 然后调用 startSupportAction 模式。
mActionMode = (activity as MainActivity?)!!.startSupportActionMode(actionModeCallback)
代码如下所示。
class MyFragment : Fragment() {
...
private var mAction: ActionMode? = null
fun myCAB() {
if(mActionMode!= null) return
// as casts the type if is successful or returns null
mAction = (activity as MainActiivty?)!!.startSupportActionMode(actionModeCallback)
}
private val actionModeCallback: ActionMode.Callback = object : ActionModeCallback {
...
}
}