zoukankan      html  css  js  c++  java
  • android View 自动 GONE 问题

       首先说一下 view visibility VISIBLE、INVISIBLE、GONE的区别:

    可见(visible)

    XML文件:android:visibility="visible"
    Java代码:view.setVisibility(View.VISIBLE);

    不可见(invisible)
    XML文件:android:visibility="invisible"
    Java代码:view.setVisibility(View.INVISIBLE);

    隐藏(GONE)
    XML文件:android:visibility="gone"
    Java代码:view.setVisibility(View.GONE);

    VISIBLE:设置控件可见
    INVISIBLE:设置控件不可见
    GONE:设置控件隐藏

    而INVISIBLE和GONE的主要区别是:
    当控件visibility属性为INVISIBLE时,界面保留了view控件所占有的空间;

    而控件属性为GONE时,界面则不保留view控件所占有的空间。


    下面开始进入正题,我的问题是出现在一个

    PopupWindow 里面 含有一个 FrameLayout 布局,里面有一个 ListView,同时有一个 TextView,TextView visibility属性 GONE
    
    当我们发现个别时候 Listview 在刷新后不能正常显示了(原来以为是数据问题,后来排除掉了),机率非常少,可能是百分之一,
    但非常严重,不能恢复,重现很困难,但还是花时间重现了。
    发现它的 visibility 属性 自动变成了 GONE,而和它同位置的 TextView 变成了 VISIBLE。
    
    原因:可能是刷新过度造成,当为数据为空时我不再刷新,好像没有重现过,当然已经花了时间重现问题,
    最好设置一下,如果发现 ListView visibility 属性为 GONE,设置为 VISIBLE,同时把TextView visibility 属性设置为 GONE
    我尝试了一下,这样就没有问题了。
    
    但是更深层原因,可能就没有办法去找了,如果有人知道可以在评论中回复一下,非常感谢。
    

  • 相关阅读:
    如果网站文字不让复制怎么办,谷歌浏览器
    Mac 微信双开
    git 线上一不小心拉取代码了,如何恢复
    php 验证港澳台身份证
    把照片弄成50k以内
    Gson序列化时排除字段
    实战Springboot内置Tomcat配置调优
    svg图标爽使用
    laravel的post请求分页数据
    php的isset函数相关问题
  • 原文地址:https://www.cnblogs.com/sharecenter/p/5621049.html
Copyright © 2011-2022 走看看