How to disable RecyclerView Items from clicking

后端 未结 9 904
迷失自我
迷失自我 2020-12-31 04:00

I am using Floating Action Button. I want to disable Recyclerview Items from Clicking when i press FAB button. I tried this method but not working setClickable(true);<

9条回答
  •  一个人的身影
    2020-12-31 04:33

    Björn Kechel's answer helps me. As he said I just added Boolean. When i click the fab menu the boolean is activated. Then have to write the condition on mrecyclerview.addOnItemTouchListener
    Java Class

        public Boolean fabClick = false;
    
        floatMenu.setOnMenuToggleListener(new FloatingActionMenu.OnMenuToggleListener() {
                    @Override
                    public void onMenuToggle(boolean opened) {
                        if (opened) {
                            final int color = R.color.transp;
                            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
                                fabClick = true;
                                mrecyclerview.setClickable(false);
                                mrecyclerview.setEnabled(false);
                                mrecyclerview.setForeground(new ColorDrawable(ContextCompat.getColor(getContext(), color)));
                            }
                        } else {
                            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {                               
                                fabClick = false;
                                mrecyclerview.setClickable(true);
                                mrecyclerview.setEnabled(true);
                                mrecyclerview.setForeground(null);
                            }
                        }
                    }
                });
    


                mrecyclerview.addOnItemTouchListener(new RecyclerTouchListener(getActivity(), mrecyclerview, new RecyclerTouchListener.ClickListener() {
                @Override
                public void onClick(View view, int position) {
                    if(!fabClick) {
                        android.support.v4.app.FragmentTransaction ft = getFragmentManager().beginTransaction();
                        ft.setCustomAnimations(R.anim.fragment_anim_start, R.anim.fragment_anim_stop);
                        Intent i = new Intent(getActivity(), Group_Chat_Screen.class);
                        startActivity(i);
                    }
                }
    

提交回复
热议问题