相关疑难解决方法(0)

片段中的上下文动作模式 - 如果没有聚焦则关闭?

我在嵌套的fragement中实现了一个上下文动作模式栏.此片段是视图分页器的一部分,视图分页器也是片段和导航抽屉的一部分.

我的问题:如果片段不再集中,我想关闭上下文操作模式栏.因此,如果我在视图寻呼机中滑动,则应关闭操作模式栏.但是如果我使用onPause()嵌套片段的方法,则不直接调用该方法.通常它等到我向前滑了两三次......这是一些照片:

在此输入图像描述

在此输入图像描述

在第二张图片中,您可以看到操作模式栏仍然存在.所以我的问题是:我应该在哪种方法中调用我的actionModeBar.finish()方法,如果我离开片段,直接关闭动作模式栏?

也许片段的代码可以帮助你:

public class EditorFragment extends Fragment {

  private static final String KEY_POSITION="position";
  ListView listView;
  private boolean isMultipleList = false;
  private ActionMode acMode;
  private int counterChecked = 0;

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

    public boolean onPrepareActionMode(ActionMode mode, Menu menu){
           return false;
       }

      public void onDestroyActionMode(ActionMode mode) {
          listView.clearChoices();
            for (int i = 0; i < listView.getChildCount(); i++)
                listView.setItemChecked(i, false);
                listView.post(new Runnable() {
                    @Override
                    public void run() {
                        listView.setChoiceMode(ListView.CHOICE_MODE_NONE);
                    }
                });
          isMultipleList = …
Run Code Online (Sandbox Code Playgroud)

android android-viewpager android-contextmenu android-actionmode

8
推荐指数
2
解决办法
1万
查看次数

使用回收者视图选择库选择ReyclerView项目(只需单击即可)

我是RecyclerView选择库的新手。我准备RecyclerView选择多个项目,只需单击一下即可。我的问题是所有文章和教程都表明选择过程始于长按。

如何覆盖以单击即可开始选择?谢谢。

我正在使用 implementation 'androidx.recyclerview:recyclerview-selection:1.0.0'

本教程,我尝试过..

android android-support-library android-recyclerview

4
推荐指数
1
解决办法
474
查看次数

如何在 Java 而不是 Kotlin 中实现 SelectionTracker

在 Android 上,我希望用户能够从列表中选择多行。我读到我可以使用SelectionTrackeraRecyclerView 来启用 list-item selection

但是所有的代码示例都在 Kotlin 中。SelectionTracker在Java中有任何例子吗?

java android kotlin

3
推荐指数
1
解决办法
1933
查看次数

在 Android RecyclerView 中实现多选

我需要有关多/单选择的帮助。在这里找到了我要找的东西,因为它很简单。我正在使用一个GridLayoutManager我的适配器中有超过 90 个项目,一个CardView带有 aTextView和 an ImageView,同时使用帖子中描述的过程。

当我选择一个或多个项目时,当我向下滚动时,其他项目“似乎”被选中,因为背景会复制,但它们未被选中。尝试将setOnClickListener, 放入onBindViewHolderMyViewHolder 类中,并且在它们两个类中我都得到相同的行为。向下滚动时,似乎选择了其他项目。使用notifyItemChanged(position)notifyDataSetChanged()在适配器中,但背景根本没有改变,尽管setSelected工作正常。我setHasFixedSize(true)也在 RecyclerView 设置中使用。

onBindViewHolder

@Override
public void onBindViewHolder(MyViewHolder myViewHolder, final int position) {

    PatternImages currentPattern = patternImages.get(position);
    myViewHolder.setData(currentPattern, position);
    myViewHolder.itemView.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {

            v.setSelected(!v.isSelected());
            if (v.isSelected()) {
                v.setBackgroundColor(ContextCompat.getColor(context, R.color.colorPrimaryHighLight));

            } else {
                v.setBackgroundColor(Color.WHITE);

            }
            notifyItemChanged(position);
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

模型

public class …
Run Code Online (Sandbox Code Playgroud)

android android-adapter gridlayoutmanager android-recyclerview

1
推荐指数
1
解决办法
6340
查看次数