How can I detect from event and view that which item was swiped on, so I can delete the specific record from the arrayList and remove it from there followed by an update to the adapter?
ArrayList<User> users = ... // list of user records
adapter = new ListAdapter(getActivity(), users);
ListView listView = getView().findViewById(R.id.listView);
listView.setAdapter(adapter);
listView.setOnTouchListener((view, event) -> { // for deletion
        return false;
});
Once deleted, adapter to be refreshed.
adapter.notifyDataSetChanged();
Edit
private class ListAdapter extends ArrayAdapter<User> {
    public ListAdapter(Context context, ArrayList<User> users) {
        super(context, 0, users);
    }
    @NonNull
    @Override
    public View getView(int position, @Nullable View convertView, @NonNull ViewGroup container) {
        if (convertView == null) {
            convertView = getLayoutInflater().inflate(android.R.layout.simple_list_item_1, container, false);
        }
        ((TextView) convertView.findViewById(android.R.id.text1)).setText(getItem(position).toString());
        return convertView;
    }
}
Edit 2
Following discussion, here's what my code looks like, looking forward to progress from this point onwards.
private class UserAdapter extends ArrayAdapter<User> {
    public UserAdapter(Context context, ArrayList<User> users) {
        super(context, 0, users);
    }
    public View getView(int position, @Nullable View convertView, @NonNull ViewGroup container) {
        if (convertView == null) {
            convertView = getLayoutInflater().inflate(android.R.layout.simple_list_item_1, container, false);
        }
        ((TextView) convertView.findViewById(android.R.id.text1)).setText(getItem(position).toString());
        GestureDetector gestureDetector = new GestureDetector(this.getContext(), new GestureListener());
        convertView.setOnTouchListener(((view, event) -> {
            return gestureDetector.onTouchEvent(event);
        }));
        return convertView;
    }
}
private class GestureListener extends GestureDetector.SimpleOnGestureListener {
    private static final int SWIPE_DISTANCE_THRESHOLD = 100;
    private static final int SWIPE_VELOCITY_THRESHOLD = 100;
    @Override
    public boolean onSingleTapUp(MotionEvent motionEvent) {
        Log.d("abc", "onSingleTapUp: ");
        return false;
    }
    @Override
    public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityy) {
        float distanceX = e2.getX() - e1.getX();
        float distanceY = e2.getY() - e1.getY();
        if (Math.abs(distanceX) > Math.abs(distanceY) && Math.abs(distanceX) > SWIPE_DISTANCE_THRESHOLD && Math.abs(velocityX) > SWIPE_VELOCITY_THRESHOLD) {
            if (distanceX > 0)
                Log.d("abc", "onFling: swipe right");
            else
                Log.d("abc", "onFling: swipe left");
            return true;
        }
        return false;
    }
}
Edit 3
private class UserAdapter extends ArrayAdapter<User> {
    public UserAdapter(Context context, ArrayList<User> users) {
        super(context, 0, users);
    }
    @NonNull
    @Override
    public View getView(int position, @Nullable View convertView, @NonNull ViewGroup container) {
        if (convertView == null) {
            convertView = getLayoutInflater().inflate(android.R.layout.simple_list_item_1, container, false);
        }
        ((TextView) convertView.findViewById(android.R.id.text1)).setText(getItem(position).toString());
        MyGestureDetector gestureDetector = new MyGestureDetector(this.getContext(), new GestureListener());
        convertView.setOnTouchListener(((view, event) -> gestureDetector.onTouchEvent(event)));
        return convertView;
    }
}
private class MyGestureDetector extends GestureDetector {
    public MyGestureDetector(Context context, OnGestureListener listener) {
        super(context, listener);
    }
    @Override
    public boolean onTouchEvent(MotionEvent ev) {
        return super.onTouchEvent(ev);
    }
}
 
    