Жесты не обнаруживаются во фрагменте приложения для Android

#java #android #android-studio #android-fragments

Вопрос:

Внутри фрагмента я хочу добавить жест броска, но я не знаю, почему он не обнаружен в приложении. Я использовал тост, так что по жесту броска я бы знал, но всплывающего окна нет.

мой фрагмент содержит вид переработчика и некоторые кнопки, которые выровнены по горизонтали в верхней части приложения.

Есть ли что-нибудь, чего мне не хватает или что нужно изменить, чтобы это работало ?

  @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {



         view= inflater.inflate(R.layout.fragment_wallpaper,container,false);
        //gesture logic;
        final GestureDetector gesture = new GestureDetector(getActivity(),
                new GestureDetector.SimpleOnGestureListener() {

                    @Override
                    public boolean onDown(MotionEvent e) {
                        return true;
                    }

                    @Override
                    public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
                                           float velocityY) {
                       
                        final int SWIPE_MIN_DISTANCE = 120;
                        final int SWIPE_MAX_OFF_PATH = 250;
                        final int SWIPE_THRESHOLD_VELOCITY = 200;
                        try {
                            if (Math.abs(e1.getY() - e2.getY()) > SWIPE_MAX_OFF_PATH)
                                return false;
                            if (e1.getX() - e2.getX() > SWIPE_MIN_DISTANCE
                                    amp;amp; Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
                               
                                Toast.makeText(getActivity(), "right to left", Toast.LENGTH_SHORT).show();
                            } else if (e2.getX() - e1.getX() > SWIPE_MIN_DISTANCE
                                    amp;amp; Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
                               
                                Toast.makeText(getActivity(), "left to right", Toast.LENGTH_SHORT).show();
                            }
                        } catch (Exception e) {
                            // nothing
                        }
                        return super.onFling(e1, e2, velocityX, velocityY);
                    }
                });

        view.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                return gesture.onTouchEvent(event);
            }
        });
        //end of gesture logic;
         btncars=view.findViewById(R.id.btncars);
         btn_nature=view.findViewById(R.id.btn_nature);
         btn_travel=view.findViewById(R.id.btn_travel);
         btn_bikes=view.findViewById(R.id.btn_bikes);
         btn_wildlife=view.findViewById(R.id.btn_wildlife);

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

                 Intent intent =new Intent(getActivity(),cars.class);
               //  intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
                 startActivityForResult(intent,1);
             }
         });

        return  view;

    }