Добавляйте стикер только один раз с помощью invalidate()
При нажатии на 2-ю наклейку должна отображаться только вторая наклейка (первая должна быть удалена). текущий результат при нажатии на наклейку 1(желтый), на экране отображается наклейка 1, а при нажатии на наклейку 2 (красный) предыдущая наклейка все еще на экране (что мне не нужно). Вывод должен быть только наклейкой 2, которая у меня есть попытался реализовать цикл for, но он не работает.
Полный исходный код Activity
public void addSticker(final Sticker sticker) {
if (sticker == null) {
Log.e(TAG, "Sticker to be added is null!");
return;
}
float offsetX = (getWidth() - sticker.getWidth());
float offsetY = (getHeight() - sticker.getHeight());
sticker.getMatrix().postTranslate(offsetX, offsetY);
float scaleFactor;
if (getWidth() < getHeight()) {
scaleFactor = (float) getWidth() / sticker.getDrawable().getIntrinsicWidth();
}
else {
scaleFactor = (float) getHeight() / sticker.getDrawable().getIntrinsicHeight();
}
sticker.getMatrix().postScale(scaleFactor, scaleFactor, getWidth(), getHeight());
mHandlingSticker = sticker;
mStickers.add(sticker);
invalidate();
}