ViewFlipper AddView不起作用
-
08-10-2019 - |
题
我需要简单地实现ViewFlipper的帮助。当我在活动中夸大儿童视图“ ws.addview(Childview)”时,脚钳的工作非常完美。
当我想将所有孩子从脚钳中删除并通过AddView(Child)方法添加另一串孩子时,我会遇到问题。我试图称呼flipper上的finishinflate()和无效()方法,这些方法似乎不会产生刷新脚钳的所需效果。脚鳍的景色是空白的。我检查了脚钳是否在AddView循环后包含孩子,在我的情况下,数字为>1。也许我缺少一些东西。希望有人可以帮助我。
ws.removeAllViews();
ArrayList<View> childViews = getAllChildrenFromSomewhere();
for (View childView : childViews) {
ws.addView(childView);
}
ws.onFinishTemporaryDetach();
ws.onFinishInflate();
ws.invalidate();
此致
解决方案
我能够找到我问题的答案。我正在从ViewFlipper中删除所有孩子,下一步是将新孩子添加到ViewFlipper中。由于没有选择孩子,因此删除所有儿童并使观点无效。通过仅添加新孩子并再次使视野无效,ViewFlipper保持了空白。通过在WS.Invalidate()之后使用ws.shownext(),显示了新孩子的第一个孩子,并且ViewFlipper按预期工作。希望这可以帮助。
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();
最好的问候和快乐的编码:-)
不隶属于 StackOverflow