Как щелкнуть вне экрана после смахивания записи RecyclerView?

Я реализую RecyclerView с ItemTouchHelper,
Каждая запись в RecyclerView состоит из пользовательского ConstraintLayout с вложенным TextView, ImageView и 2 кнопками. (и пару руководств)
Я использовал ConstraintLayout просто для того, чтобы переопределить onMeasure и изменить его размер, чтобы удвоить размер экрана.
как показано здесь: (ВНИМАНИЕ: " 2 * pureSize " является сердцем этой сущности)

@Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        int pureSize = MeasureSpec.getSize(widthMeasureSpec);
        int pureMode = MeasureSpec.getMode(widthMeasureSpec);
        super.onMeasure(pureMode+(int)(2*pureSize), heightMeasureSpec);
    }

Основная причина заключалась в том, чтобы сделать TextView и ImageView видимыми и оставить кнопки вне экрана, которые будут отображаться только после того, как пользователь проведет пальцем по элементу слева.
как показано в этом GIF: введите описание изображения здесь

Однако обе кнопки не работают, как будто они застряли в подвешенном состоянии. как будто они вернулись из мертвых, они присутствуют, но они больше не являются самими собой.
Что происходит с кнопками после пролистывания?
как они могут быть воскрешены?
Могут ли они когда-нибудь быть полезными?
я пытался гуглить эту тему безрезультатно.

ВОЗМОЖНЫЕ ДИЗАЙНЕРСКИЕ АЛЬТЕРНАТИВЫ, КОТОРЫЕ Я ВЫПУСКАЛ:
Перемещение кнопок в левую часть RecyclerView или, что то же самое, уверенность в том, что RecyclerView соответствует размеру экрана, - решите проблему и сделайте их снова жизнеспособными. Но это слишком некрасиво и загромождает экран.
Другим возможным решением будет использование механизма смахивания для инициирования удаления и редактирования непосредственно с помощью ItemTouchHelper.SimpleCallback.onSwiped() в сочетании с AlertDialog. Но опять же, это просто менее свободно, чем я хочу.

Любая помощь в работе этих кнопок будет принята с благодарностью.

0 ответов