我在活动中遇到问题。我创建了一个在线程上运行的runnable。线程检查是否已刷过textview并将textview移出屏幕。一旦该textview在屏幕外,它就会从linearlayout中删除它。布局不会更新其中的文本视图,并留下前一个文本视图所在的空间。
现在如何:
__________ __________ __________
|[item 1]| -----> |[item 1]| -----> |[item 1]|
|[item 2]| User |[swiped]| item 2 | |
|[item 3]| swipes |[item 3]| space |[item 3]|
|[item 4]| item 2 |[item 4]| remains |[item 4]|
|[item 5]| |[item 5]| |[item 5]|
---------- ---------- ----------
我希望它如何运行:
__________ __________ __________
|[item 1]| -----> |[item 1]| -----> |[item 1]|
|[item 2]| user |[swiped]| removed |[item 3]|
|[item 3]| swiped |[item 3]| view & |[item 4]|
|[item 4]| |[item 4]| update |[item 5]|
|[item 5]| |[item 5]| space | |
---------- ---------- ----------
我希望这可以解释发生了什么以及我拥有什么。如果没有生病,请添加更多。
编辑:如果我锁定并解锁我的屏幕,它会更新UI,并修复视图。看来我正在寻找刷新或者无效()?
答案 0 :(得分:2)
你可能想要:
public void requestLayout ()
当某些内容发生变化而导致此视图的布局无效时,请调用此方法。这将安排视图树的布局传递。当视图层次结构当前处于布局传递(isInLayout()中时,不应调用此方法。如果发生布局,则可以在当前布局传递结束时(然后布局将再次运行)或之后执行请求绘制当前帧并进行下一个布局。
重写此方法的子类应调用超类方法来正确处理可能的布局错误请求。