Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/184.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 删除视图会在linearlayout中留下空白_Java_Android_Android Layout_Android Studio - Fatal编程技术网

Java 删除视图会在linearlayout中留下空白

Java 删除视图会在linearlayout中留下空白,java,android,android-layout,android-studio,Java,Android,Android Layout,Android Studio,我在活动中的一个动作中遇到了问题。我已经创建了一个runnable,它在线程上运行。该线程检查textview是否已被刷过,并将textview移出屏幕。一旦文本视图脱离屏幕,它就会将其从线性布局中删除。布局不会更新其中的textview,并保留上一个textview所在的空间 现在怎么样: __________ __________ __________ |[item 1]| -----> |[item 1]| ----->

我在活动中的一个动作中遇到了问题。我已经创建了一个runnable,它在线程上运行。该线程检查textview是否已被刷过,并将textview移出屏幕。一旦文本视图脱离屏幕,它就会将其从线性布局中删除。布局不会更新其中的textview,并保留上一个textview所在的空间

现在怎么样:

__________           __________            __________
|[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    |        |
----------           ----------            ----------
我希望它如何运行:

__________           __________            __________
|[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,并且视图是固定的。似乎我正在寻找刷新或可能使()无效?

您可能需要:

公共无效请求布局()

当某些更改使此视图的布局无效时调用此函数。这将计划视图树的布局过程。当视图层次结构当前位于布局过程中时,不应调用此函数(.i)。如果正在进行布局,则可能会在当前布局过程结束时(然后布局将再次运行)或在绘制当前帧和进行下一个布局后执行请求

重写此方法的子类应调用超类方法,以正确处理布局错误期间可能出现的请求


谢谢你的时间。我站起来准备去吃午饭并锁定了我的手机。我在去吃午饭之前解锁了手机,注意到它更新了错误,所以我在离开之前在这里发布了我的发现。再次感谢!贾斯汀,我试着在我的文本视图的保留布局上请求布局,但它不会更新ui。锁定和解锁屏幕更新不正确。是否可能因为我在另一个线程中运行此调用,它没有运行?我认为它应该在UI线程上运行,看看我是否添加了此代码,它是否会重写活动之前运行的现有代码?我添加了此代码,活动将不再显示,并在5秒钟后崩溃我不确定影响在于您的代码。这可能是您实际上想要使
无效
,但因为您是从非UI线程调用的,所以您应该使用
postInvalidate()
(请参阅)