У меня была та же ошибка в моем коде.У меня были идентификаторы для всех представлений в xml, но я вручную добавлял представление в макет ограничения (представление всплывающей подсказки) с
constraintParent.addView(childView)
, и в то время как динамически добавленное представление все еще остается в родительском, если ограничениемакет перерисован (приложение переходит в bg и возобновляется), это исключение сработало.
Я исправил это, сгенерировав идентификатор представления для динамического вида, подобного этому
CustomViewChildView childView = new CustomViewChildView()
childView.setId(View.generateViewId());
, а затем добавив его в макет ограничения.