ViewFlipper AddView не работает
-
08-10-2019 - |
Вопрос
Мне нужна помощь с простой реализацией воспроизведения эффекта. Флиппер работает идеально, когда я надуваю дочерние взгляды «WS.Addview (ChildView)» в Oncreate активности.
Я столкнулся с проблемой, когда хочу удалить всех детей с флиппера и добавить еще одну группу с помощью метода AddView (Child). Я пытаюсь вызвать методы Onfinishinflate () и Invalidate () на флиппере, что, кажется, не вызывает желаемого эффекта освежения содержания флиппера. Вид флиппера пут. Я проверил, содержит ли Flipper Bey после Loop AddView и в моем случае номер> 1. Может быть, я что-то упускаю. Надеюсь, кто-то может помочь мне.
ws.removeAllViews();
ArrayList<View> childViews = getAllChildrenFromSomewhere();
for (View childView : childViews) {
ws.addView(childView);
}
ws.onFinishTemporaryDetach();
ws.onFinishInflate();
ws.invalidate();
с уважением
Решение
Я смог найти ответ на мой вопрос. Я удалял всех детей из просмотра ViewLipper, и следующий шаг должен был добавить новых детей в просмотрмфер. Удаление всех детей и недействительным видом в результате пробирки в результате пустого мнения из-за ребенка не было выбрано. Только добавляя новых детей и снова недействительным представление, ViewLipper оставался пустым. Используя WSSshownext () после WS.InValidate (), показан первым ребенком из новых детей, и просмотра выполняется, как ожидалось. Надеюсь это поможет.
ws.removeAllViews();
ArrayList<View> childViews = getAllChildrenFromSomewhere();
for (View childView : childViews) {
ws.addView(childView);
}
ws.onFinishTemporaryDetach();
ws.onFinishInflate();
ws.invalidate();
// show the first childView
ws.showNext();
Лучшие пожелания и счастливые кодировки :-)