Android 屏幕未更新

Android 屏幕未更新,android,Android,我知道谷歌的工程师们在视图布局和重画方面掌握了一些控制权。但我不明白改变视图可见性不会更新屏幕的方式。我有一个和平的代码是海峡前进: if (editMode) mView.setVisibility(View.VISIBLE); else mView.setVisibility(View.INVISIBLE); “mView”是一个TableLayout视图,在活动处于编辑模式时显示其单元格。并在活动处于正常模式时隐藏它。我试图在“mView”实例及其父实例(即FrameLa

我知道谷歌的工程师们在视图布局和重画方面掌握了一些控制权。但我不明白改变视图可见性不会更新屏幕的方式。我有一个和平的代码是海峡前进:

if (editMode)
    mView.setVisibility(View.VISIBLE);
else
    mView.setVisibility(View.INVISIBLE);


“mView”是一个TableLayout视图,在活动处于编辑模式时显示其单元格。并在活动处于正常模式时隐藏它。我试图在“mView”实例及其父实例(即FrameLayout)上调用“invalidate()”,但没有任何效果。我怀疑这可能与图形缓存有关,因此,我在父视图(FrameLayout)和“mView”实例中禁用了它。我没有零钱。为什么一个视图会如此僵硬?如果屏幕没有更新,我可能会做错什么呢?

如果屏幕没有更新,你的意思是视图所在的位置有一个空白,那是因为你使它不可见,即我们看不到它,但它就在那里。如果要删除该空间,请使用
View.GONE

如果by屏幕未更新您的意思是视图曾经存在的地方有一个空白,这是因为您使其不可见,即我们看不到它,但它就在那里。如果要删除该空间,请使用
View.GONE

如果by屏幕未更新您的意思是视图曾经存在的地方有一个空白,这是因为您使其不可见,即我们看不到它,但它就在那里。如果要删除该空间,请使用
View.GONE

如果by屏幕未更新您的意思是视图曾经存在的地方有一个空白,这是因为您使其不可见,即我们看不到它,但它就在那里。如果要删除该空间,请使用
View.GONE

表格布局是否为空?如果是,则将其设置为“不可见”不会起任何作用-它仍然存在,并且仍然用于布局目的,只是不可见。您是否尝试过使用
View.GONE
替代?TableLayout是否为空?如果是,则将其设置为“不可见”不会起任何作用-它仍然存在,并且仍然用于布局目的,只是不可见。您是否尝试过使用
View.GONE
替代?TableLayout是否为空?如果是,则将其设置为“不可见”不会起任何作用-它仍然存在,并且仍然用于布局目的,只是不可见。您是否尝试过使用
View.GONE
替代?TableLayout是否为空?如果是,则将其设置为“不可见”不会起任何作用-它仍然存在,并且仍然用于布局目的,只是不可见。你试过使用
View.GONE
吗?嗨,坎瓦尔。谢谢你的帮助。我已经试过查看。没了,效果也一样。TableLayout不在那里,因为我检查了
getVisibility()
方法。但是屏幕没有更新,网格(插槽)仍然显示。顺便说一句,我已经尝试在FrameLayout(TableLayout的父级)和正确的TableLayout中调用
requestLayout()
invalidate()
,以确保正确。浪费时间。因为你现在提到的是你真正的问题,可能与你所问的不同,我建议你问一个新问题,包括你的布局和活动代码,可能还有一个快照。这样你会得到最大的帮助,因为现在很少有人会给你答案。如果你接受我的建议,那么从你的问题中删除更新并接受这个答案。嗨,坎德瓦尔。谢谢你的建议。我接受您的回答并删除更新。但我现在不会再问另一个问题。这个问题已经一个多星期没有解决了,我的上司推迟了应用程序的启动。在不久的将来,我会问这个新问题,并听从你的建议。再次感谢。@user3191893当然,我们在这里的任何时候都可以问您的问题..:DHi,Kandwal。谢谢你的帮助。我已经试过查看。没了,效果也一样。TableLayout不在那里,因为我检查了
getVisibility()
方法。但是屏幕没有更新,网格(插槽)仍然显示。顺便说一句,我已经尝试在FrameLayout(TableLayout的父级)和正确的TableLayout中调用
requestLayout()
invalidate()
,以确保正确。浪费时间。因为你现在提到的是你真正的问题,可能与你所问的不同,我建议你问一个新问题,包括你的布局和活动代码,可能还有一个快照。这样你会得到最大的帮助,因为现在很少有人会给你答案。如果你接受我的建议,那么从你的问题中删除更新并接受这个答案。嗨,坎德瓦尔。谢谢你的建议。我接受您的回答并删除更新。但我现在不会再问另一个问题。这个问题已经一个多星期没有解决了,我的上司推迟了应用程序的启动。在不久的将来,我会问这个新问题,并听从你的建议。再次感谢。@user3191893当然,我们在这里的任何时候都可以问您的问题..:DHi,Kandwal。谢谢你的帮助。我已经试过查看。没了,效果也一样。TableLayout不在那里,因为我检查了
getVisibility()
方法。但是屏幕没有更新,网格(插槽)仍然显示。顺便说一句,我已经尝试在FrameLayout(TableLayout的父级)和正确的TableLayout中调用
requestLayout()
invalidate()
,以确保正确。浪费时间。因为你现在提到的是你真正的问题,可能与你所问的不同,我建议你问一个新问题,包括你的布局和活动代码,可能还有一个快照。这样你会得到最大的帮助,因为现在很少有人会给你答案。如果你接受我的建议,那么从你的问题中删除更新并接受这个答案。嗨,坎德瓦尔。谢谢你的建议。我接受您的回答并删除更新。但我现在不会再问另一个问题。这个问题