gpt4 book ai didi

android - ViewFlipper addView 不工作

转载 作者:行者123 更新时间:2023-11-29 22:30:44 49 4
gpt4 key购买 nike

我需要有关 ViewFlipper 的简单实现方面的帮助。当我在 Activity 的 onCreate 中膨胀 subview “ws.addView(childView)”时,脚蹼工作得很好。

当我想从鳍状肢中移除所有子项并通过 addView(child) 方法添加另一组时,我遇到了问题。我试图在鳍状肢上调用 onFinishInflate() 和 invalidate() 方法,它们似乎没有产生刷新鳍状肢内容的预期效果。鳍状肢的 View 是空白的。我在 addView 循环之后检查了鳍状肢是否包含子项,在我的例子中,数字大于 1。也许我遗漏了什么。希望有人能帮助我。

                ws.removeAllViews();
ArrayList<View> childViews = getAllChildrenFromSomewhere();
for (View childView : childViews) {
ws.addView(childView);
}
ws.onFinishTemporaryDetach();

ws.onFinishInflate();
ws.invalidate();

最好的问候

最佳答案

我能够找到问题的答案。我正在从 ViewFlipper 中删除所有子项,下一步是向 ViewFlipper 添加新的子项。删除所有子项并使 View 无效会导致空白 View ,因为未选择任何子项。通过只添加新的 child 并再次使 View 无效,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();

最好的问候和愉快的编码:-)

关于android - ViewFlipper addView 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4156560/

49 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com