Android中解决布局加载中setVisibility(View.GONE))失效问题
其他
2018-12-29 17:33:46
阅读次数: 0
一、前言
最近在写的一个项目中,需要在SecondActivity使用intent唤起MainActivity的同时更新其UI界面,我的思路是将需要添加的控件在第一次创建时设置为不可见,调用setVisibility(View.GONE)方法将其隐藏,在SecondActivity唤起MainActivity的时候再将其设置为可见,调用setVisibility(View.VISIBLE)方法就可以达到效果。
二、问题
第一次创建MainActivity的时候就把需要更新的界面显示出来了,难道是setVisibility(View.GONE)方法不管用吗?
三、分析
-
检查重新唤起的MainActivity中的setVisibility(View.VISIBLE)是否被调用,日志打印结果并没有显示被调用,证明不是调用setVisibility(View.VISIBLE)方法出现的问题;
-
检查onCreate中的setVisibility(View.GONE)是否有效,发现还是无法隐藏添加的控件;
-
检查layout布局文件,查看添加控件的属性,发现没有设置属性android:visibility="gone"!
四、解决方法
在添加的控件布局中添加android:visibility="gone"属性
五、总结
注意:对需要设置可见或不可见的控件一定要在布局中的控件属性中添加android:visibility="gone"属性,否则单纯的在Java代码中使用setVisibility方法是无法生效的
如有错误,欢迎指正,虚心学习!
转载自blog.csdn.net/Xiongjiayo/article/details/81878929