如何处理来自上下文操作模式的recyclelerView项目的侦听器?

问题描述 投票:1回答:1

enter image description here

我想使recyclelerview项目点击这样的图像。当我选择了recyclerview项目时,按下长按,然后启用上下文操作模式。如果我只选择一个项目,则显示编辑菜单项,否则我想要当我单击编辑菜单项然后单击在recyclerView选择项目并做一些工作。但我不能这样做。请帮助我一些。我是一个新的android开发。高级谢谢。

android android-recyclerview onitemclicklistener contextual-action-bar android-actionmode
1个回答
0
投票

我为你抓了一些信息,这对你有帮助,

实现setSelectable()后,您可以使用常规ActionMode.Callback实现CHOICE_MODE_MULTIPLE_MODAL的其余部分。从相关的回调方法中调用您的setSelectable():

private ActionMode.Callback mDeleteMode = new ActionMode.Callback() {
        @Override
        public boolean onPrepareActionMode(ActionMode actionMode, Menu menu) {
            setSelectable(true);
            return false;
        }

        @Override
        public void onDestroyActionMode(ActionMode actionMode) {
            setSelectable(false);
        }

        @Override
        public boolean onCreateActionMode(ActionMode actionMode, Menu menu) { ... }

        @Override
        public boolean onActionItemClicked(ActionMode actionMode, MenuItem menuItem) { ... }
    }

然后使用长按侦听器打开操作模式:

private class CrimeHolder extends SwappingHolder
            implements View.OnClickListener, View.OnLongClickListener {

        ...

        public CrimeHolder(View itemView) {
            ...

            itemView.setOnClickListener(this);
            itemView.setOnLongClickListener(this);
            itemView.setLongClickable(true);
        }

        @Override
        public boolean onLongClick(View v) {
            ActionBarActivity activity = (ActionBarActivity)getActivity();
            activity.startSupportActionMode(mDeleteMode );
            setSelected(this, true);
            return true;
        }
    }

如果您对此片段有任何想法,请告诉我。如果你想要更多这个link,这是比尔菲利普斯的伟大文章。

© www.soinside.com 2019 - 2024. All rights reserved.