一、前言


最近在写的一个项目中,需要在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方法是无法生效的

 

 

如有错误,欢迎指正,虚心学习!

 

 

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:ixiaoyang8@qq.com
QQ群:637538335
关注微信