Я реализую 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 были видны, а кнопки оставлены вне экрана и отображаться только после того, как пользователь проведет пальцем по элементуleft.
, как показано в этом GIF: ![enter image description here](https://i.stack.imgur.com/27Ms9.gif)
Однако обе кнопки не работают, как будто они застряли в подвешенном состоянии.как будто они вернулись из мертвых, они присутствуют, но они больше не являются самими собой.
Что происходит с кнопками после удара?
как их можно воскресить?
они могут когда-нибудь пригодиться?
Я пытался гуглить эту тему безрезультатно.
ВОЗМОЖНЫЕ ПРОЕКТНЫЕ АЛЬТЕРНАТИВЫ, КОТОРЫЕ Я ВЫПУСКАЛ:
Перемещение кнопок в левую часть RecyclerView, или, что то же самое, уверенность в том, что RecyclerView соответствует размеру экрана -решить проблему и сделать их снова жизнеспособными.Но это слишком уродливо и загромождает экран.
Другим возможным решением будет использование механизма смахивания для инициирования удаления и редактирования, непосредственно с ItemTouchHelper.SimpleCallback.onSwiped () в сочетании с AlertDialog.Но опять же, это просто менее свободно, чем я хочу.
Любая помощь в работе этих кнопок будет принята с благодарностью.