当前位置: 首页 > 知识库问答 >
问题:

如何在SherlockListFragment中使用上下文操作模式

林修真
2023-03-14

我想在我的应用程序中使用上下文操作条(CAB),但它与旧版本的Android不兼容,所以我使用这个教程:http://www.miximum.fr/tutos/849-porting-the-contextual-anction-mode-for-pre-honeycomb-android-apps我的代码是:

public class SongsFragment extends SherlockListFragment implements
    LoaderManager.LoaderCallbacks<Cursor>, OnLongClickListener{

...
@Override
public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
    activity = this.getActivity();
    ...
    mMode = null;
    mListView = getListView();
    mListView.setItemsCanFocus(false);
    mListView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
    mListView.setOnLongClickListener(this);

}

@Override
public boolean onLongClick(View v) {
    SparseBooleanArray checked = mListView.getCheckedItemPositions();
    boolean hasCheckedElement = false;
    for (int i = 0; i < checked.size() && !hasCheckedElement; i++) {
        hasCheckedElement = checked.valueAt(i);
    }

    if (hasCheckedElement) {
        if (mMode == null) {
            mMode = activity.startActionMode(mActionModeCallback);
        }
    } else {
        if (mMode != null) {
            mMode.finish();
        }
    }
    return false;
}

 private ActionMode.Callback mActionModeCallback = new ActionMode.Callback() {

    @Override
    public boolean onCreateActionMode(ActionMode mode, Menu menu) {
        // Create the menu from the xml file
        activity.getSupportMenuInflater().inflate(R.menu.cab_songs, menu);
        return true;
    }
    ...

我在以下方面有错误:

    null

知道吗?驾驶室使用神探夏洛克还有其他解决方案吗?

共有1个答案

翁翰
2023-03-14

ActionModeMenuInflater的导入更改为其ActionBarSherlock.View.ActionMode和Com.ActionBarSherlock.View.MenuInflater)的等效项。

 类似资料:
  • 首先,我想说我从来没有使用过Next.js或context api,所以请耐心听我说。 我目前正在Next.js中开发一个web应用程序,其中有多个页面,每个页面都包含一个表单。我希望有某种全局状态,以便能够设置和更新每个表单的数据。所有表单数据一起 例如:第1页=名称,第2页=说明,... 从我在网上读到的内容来看,我认为使用上下文api就足够了,但我遇到了困难。当我在第一个表单上填写名字时,它

  • 有人有教程来实现使用支持库v7(appcomat_v7)的片段中的CAB吗? 我不知道该怎么做,我找不到一个教程来解释一个片段中的实现和使用支持库。 谢谢你的阅读。

  • 问题内容: 我正在尝试在我的应用程序上使用React 16.3中的新上下文API进行一些测试,但我不明白为什么我的重定向永远无法工作。 我不想让我的ContextB可用于所有路由,仅2和3。我该怎么做? 问题答案: 看起来应该只具有和`<Redirect `组件作为直接子代。(来源) 我想这就是为什么你的,你使用不工作的孩子。 最简单但重复的解决方案可能是让您成为每个想要的孩子的孩子: 注意:这些

  • 问题内容: 我有一个验证并保存表单的视图。保存表单后,我想重定向回list_object视图,并显示一条成功消息“客户xyz的表单已成功更新…” HttpResponseRedirect似乎无法正常工作,因为它只为url提供一个参数,无法与之一起传递字典。 我已经尝试修改object_list的包装,以将dict作为具有必要上下文的参数。我从保存表单的视图内部返回对此包装的调用。但是,呈现页面时,

  • 我试图在我的应用程序上用React 16.3的新上下文API做一些测试,但是我不明白为什么我的重定向从来没有工作过。 我不想让我的ContextB适用于所有路线,只适用于2号和3号路线。我该怎么做?

  • 问题内容: 我有一个表单,可以在用户输入信息后重定向到同一页面(以便他们可以继续输入信息)。如果表单提交成功,我将返回 效果很好。但是,在这种情况下,我还想向用户显示一些消息(例如,屏幕顶部的“您的数据已保存”)。如果不进行重定向,我只会在上下文字典中返回这些消息。但是,有了重定向,我无法做到这一点。 那么在使用HttpResponseRedirect时如何传递模板上下文信息? 我正在尝试做的事情