Элементы Recyclerview автоматически нажимаются при прокрутке

Когда я прокручиваю файл recyclerview. элементы в нем автоматически нажимаются. как решить эту проблему.

это мой recyclerview (OnItemTouchListner). при автоматической прокрутке элементов получить щелчок

recyclerView.addOnItemTouchListener(new RecyclerView.OnItemTouchListener() {
                @Override
                public boolean onInterceptTouchEvent(RecyclerView rv, MotionEvent e) {
                    View view=rv.findChildViewUnder(e.getX(),e.getY());
                    String profile=null;
                    if (view!=null){
                        int position=rv.getChildAdapterPosition(view);

                        try {
                            JSONObject jsonObject=new JSONObject(arrayList.get(position));
                            profile=jsonObject.getString("profile");
                        } catch (JSONException e1) {
                            e1.printStackTrace();
                        }
                        Intent intent=new Intent(getActivity(),ProfileActivity.class);
                        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                        Bundle bundle=new Bundle();
                        bundle.putInt("position",position+1);
                        bundle.putString("profile",profile);
                        intent.putExtras(bundle);
                        startActivity(intent);
                    }
                    return false;
                }

                @Override
                public void onTouchEvent(RecyclerView rv, MotionEvent e) {

                }

                @Override
                public void onRequestDisallowInterceptTouchEvent(boolean disallowIntercept) {

                }
            });

Вам необходимо предоставить более подробную информацию и соответствующий код. Это никому не поможет, и никто не сможет ответить на ваши вопросы

Raghunandan 23.12.2018 07:37

добавить код и описание к вопросу.

Anmol 23.12.2018 07:41

Предоставьте код метода прослушивания кликов

Farwa 23.12.2018 07:43

я обновляю свой вопрос

rsd123 23.12.2018 10:25
3
4
38
1

Ответы 1

Ты можешь использовать

holder.yourLayout.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            try {
                        JSONObject jsonObject=new JSONObject(arrayList.get(position));
                        profile=jsonObject.getString("profile");
                    } catch (JSONException e1) {
                        e1.printStackTrace();
                    }
                    Intent intent=new Intent(getActivity(),ProfileActivity.class);
                    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                    Bundle bundle=new Bundle();
                    bundle.putInt("position",position+1);
                    bundle.putString("profile",profile);
                    intent.putExtras(bundle);
                    mContext.startActivity(intent);

        }
    });

почему элементы нажимались при прокрутке в моем предыдущем коде

rsd123 23.12.2018 12:12

потому что, когда вы прокручиваете, вы касаетесь ячейки recyclerview. вы использовали recyclerview.addOnItemTouchListener. прокручиваешь, трогаешь, так работает. вместо этого пользователь recyclerview.setOnClickListener. рекомендуется использовать прослушиватель кликов в классе адаптера.

Cyril David 23.12.2018 12:17

Другие вопросы по теме