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

片段中的上下文操作条

谢璞
2023-03-14

有人有教程来实现使用支持库v7(appcomat_v7)的片段中的CAB吗?

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:idk="http://schemas.android.com/apk/res-auto" >

    <item
        android:id="@+id/menu_delete"
        android:icon="@android:drawable/ic_menu_delete"
        android:orderInCategory="100"
        idk:showAsAction="ifRoom|withText"
        android:title="Delete"/>

</menu>
private ActionMode.Callback mActionModeCallback = new ActionMode.Callback()
{

    // Called when the user selects a contextual menu item
        @Override
        public boolean onActionItemClicked(ActionMode mode, MenuItem item) 
        {
            // TODO Auto-generated method stub
            switch(item.getItemId())
            {
            case R.id.menu_delete:
                return true;

            }

            return false;
        }


        //// Called when the action mode is created; startActionMode() was called
        @Override
        public boolean onCreateActionMode(ActionMode mode, Menu menu)
        {
            // TODO Auto-generated method stub
            mode.getMenuInflater().inflate(R.menu.delete_only, menu);
            return true;
        }

         // Called when the user exits the action mode
        @Override
        public void onDestroyActionMode(ActionMode mode) 
        {
            // TODO Auto-generated method stub
            mActionMode = null;
        }

        //// Called each time the action mode is shown. Always called after onCreateActionMode, but
        // may be called multiple times if the mode is invalidated.
        @Override
        public boolean onPrepareActionMode(ActionMode mode, Menu menu)
        {
            // TODO Auto-generated method stub
            return false;
        }
};
@Override
    public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) 
    {
        // TODO Auto-generated method stub
        if(listItemSelections.contains(1) && mActionMode == null)
        {
            mActionMode = getActivity().startActionMode(mActionModeCallback);
        }

    }
mActionMode = getActivity().startActionMode(mActionModeCallback);
The method startActionMode(ActionMode.Callback) in the type Activity is not applicable for the arguments (ActionMode.Callback)

我不知道该怎么做,我找不到一个教程来解释一个片段中的实现和使用支持库。

谢谢你的阅读。

共有1个答案

于鹏
2023-03-14

如果您正在使用操作栏库,那么请使用此。

 ActionBarActivity activity=(ActionBarActivity)getActiivty();
 activity.startSupportActionMode(mActionModeCallback);

如果它是简单的活动,那么更喜欢这个

 getActivity().startActionMode(mActionModeCallback);
 类似资料:
  • 问题内容: 我创建了一个类,以从PHP文件的JSON编码中检索注释。此类从AsyncTask扩展: 如您所见,我正在尝试在“ doInBackground”过程运行时显示一个ProgressDialog。但是progressDialog构造函数要求一个Context,但我不知道如何提供它。 我从Fragment调用此类,所以无法访问这样的上下文: “主要”活动称为:AndroidViewPager

  • 问题内容: 如何获取片段中的上下文? 我需要用我的数据库其构造函数采用的背景下,但并没有工作,所以我能做些什么? 数据库构造函数 问题答案: 你可以使用,返回与关联的活动。 活动是(自扩展以来)。

  • 我在过去的两个小时里一直在试图解决这个问题。试过很多东西。 该片段似乎正在向我的适配器传递空上下文。我尝试在onCreate和onCreateView和onActivityCreated中初始化上下文变量。同样的结果。

  • 问题内容: 我有一个关于片段中上下文使用情况的问题。我的问题是,我总是收到NullpointerException。这是我的工作: 创建一个扩展SherlockFragment的类。在该类中,我有另一个Helper类的实例: 这是其他Helper类的摘录: 每次调用时(例如context.getResources()),我都会收到NullPointerException。这是为什么? 问题答案:

  • 我试图在另一个片段中显示一个谷歌地图片段,但是我不能操纵地图,我已经把我看到的所有步骤都留档了,但是我不能操纵我的地图。 XML代码: 类片段代码: 主要活动类别代码: } 在调用getMapAsync()后,编辑以下堆栈跟踪: 空指针错误: 12-18 19:51:50.056 11265-11265/ar.com.taxiexpress.taxiexpressE/AndroidRuntime:

  • 问题内容: 这是我第一次使用片段(android开发人员是新手),并且我正在尝试设置一个微调器。目前,我对上下文非常困惑,似乎无法解决此错误: 这是其所引用的代码: HotkeysFragment.java 具体行是: 进口: 我怎样才能解决这个问题? 问题答案: 来自Fragments的Android文档,来自此处: 警告:如果您在Fragment中需要一个Context对象,则可以调用getA