我正在尝试为上下文操作栏启动操作模式,但是出现问题。我正在为扩展ListFragment的类使用自定义CursorAdapter,该类由扩展ActionBarActivity的类包含。
结构体
GameListActivity(ActionBarActivity)
---- GameListFragment(ListFragment)
---- ---- custom_adapter(CursorAdapter)
我正在尝试在custom_adapter中的onClick侦听器中启动操作模式。当前,我在ActionBarActivity中具有ActionMode.Callback:
public static final ActionMode.Callback AnActionMode = new ActionMode.Callback() {
// standard funcs (onCreateActionMode, etc)
}
我觉得这似乎更适合ListFragment,但是我试过了,没有好运。
在我的自定义CursorAdapter中,我有一个函数:
private void set_action_mode() {
if (checked_count > 0)
if (!is_action_mode_showing)
((GameListActivity) m_context).startActionMode(GameListActivity.AnActionMode);
}
我得到的错误是:
Error:(142, 47) error: method startActionMode in class Activity cannot be applied to given types;
required: android.view.ActionMode.Callback
found: android.support.v7.view.ActionMode.Callback
reason: actual argument android.support.v7.view.ActionMode.Callback cannot be converted to android.view.ActionMode.Callback by method invocation conversion
这两个类导入(我认为)是正确的类:
import android.support.v7.view.ActionMode;
我原来是跟随this链接的,但是他的实现似乎也不适合我。
反正有做我正在做的事吗?
最佳答案
我认为你应该使用
startSupportActionMode
代替
startActionMode
希望对您有所帮助!
PS:看看你的刀眼。 Java约定说,所有变量,对象或方法的名称都必须以小写字母开头,并且不允许使用下划线。似乎您正在使用C命名的样式。您可以在oracle tutorials中找到更多信息。
和here。
关于android - 从ListFragment中的自定义CursorAdapter启动操作模式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22565576/