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
我尝试了一下,这样就没有问题了。 但是更深层原因,可能就没有办法去找了,如果有人知道可以在评论中回复一下,非常感谢。
android View 自动 GONE 问题的更多相关文章
- Android View自动生成插件
在ButterKnife这样强大的注入库出来之后,使用注入进行UI开发已经非常普遍.但考虑到效率.学习成本等问题,findViewById方式仍然是不错的选择. 但是当页面UI变得复杂后,我们从Lay ...
- Android 文字自动滚动(跑马灯)效果的两种实现方法[特别好使]
有时候在xml中写的跑马灯效果不滚动:原因有以下 Android系统中TextView实现跑马灯效果,必须具备以下几个条件: 1.android:ellipsize=”marquee” 2.TextV ...
- Android应用自动更新功能的代码实现
由于Android项目开源所致,市面上出现了N多安卓软件市场.为了让我们开发的软件有更多的用户使用,我们需要向N多市场发布,软件升级后,我们也必须到安卓市场上进行更新,给我们增加了工作量.因此我们有必 ...
- Android View之用户界面...
PS:Android的控件真的是很多...现在还在忙到控件...也是神了.... 学习内容: 1.Spinner下拉菜单... 2.AutoComplete TextView自动完成文本框... 1. ...
- Android:TextView 自动滚动(跑马灯) (转)
Android:TextView 自动滚动(跑马灯) TextView实现文字滚动需要以下几个要点: 1.文字长度长于可显示范围:android:singleLine="true ...
- bug_ _ android.view.InflateException: Binary XML file line #2: Error inflating class <unknown
========= 5.0 android异常“android.view.InflateException: Binary XML file line # : Error inflating ...
- Android 实现自动接听和挂断电话功能
添加权限 <uses-permission android:name="android.permission.CALL_PHONE"/> <uses-permis ...
- Android - 软件自动更新的实现
转自:http://blog.csdn.net/wwj_748/article/details/8195565 接触到一个很实用的技术,那就是软件自动更新.一般开发者是通过自行在应用平台添加更新版本的 ...
- Android invalidate()自动清屏,屏幕刷新
invalidate()是用来刷新View的,必须是在UI线程中进行工作.比如在修改某个view的显示时,调用invalidate()才能看到重新绘制的界面.invalidate()的调用是把之前的旧 ...
随机推荐
- for循环内 执行$ajax(){}
真是郁闷,在for 循环里添加了ajax异步传输之后,for循环是单线程处理,就是里面执行的是ajax,也不异步处理数据.而是执行完for循环的次数后,一起把ajax的数据处理掉. 解决办法.分开吧! ...
- MySQL瘦身
解压mysql-x.y.z-win32|64.zip 删除不用的目录:保留bin.data.share三个文件夹 删除bin里的多余文件:保留mysqld.exe.mysqladmin.exe (如果 ...
- bzoj2592: [Usaco2012 Feb]Symmetry
Description After taking a modern art class, Farmer John has become interested in finding geometric ...
- Ubuntu Server上的LVM配置
在安装Linux的时候,通常遇到的一个比较头痛的问题就是分区,到底每个区该分多少,用了一段时间之后,某个分区又不够用了,该怎么办?如果是普通的服务器,那一切都好说,大不了就关机重新划分分区嘛,但是对于 ...
- 【Linux】系统 之 RAID
本人从事DBA相关的工作,最近遇到了IO抖动伴随shread running抖动的情况,主机宕机重启后备库及下游解析binlog出现损坏的案例,向一些有经验的同事咨询学习,其中最大的嫌疑是:raid卡 ...
- activiti自定义流程之整合(四):整合自定义表单部署流程定义
综合前几篇博文内容,我想在整合这一部分中应该会有很多模块会跳过不讲,就如自定义表单的表单列表那一块,因为这些模块在整合的过程中都几乎没有什么改动,再多讲也是重复无用功. 正因为如此,在创建了流程模型之 ...
- php CI框架nginx 配置
# ci server { listen 80; server_name my.clb.com; root /var/website/c ...
- POJ 1743 Musical Theme (后缀数组,求最长不重叠重复子串)(转)
永恒的大牛,kuangbin,膜拜一下,Orz 链接:http://www.cnblogs.com/kuangbin/archive/2013/04/23/3039313.html Musical T ...
- phpmyadmin数据库导入出错
SQL 查询: -- phpMyAdmin SQL Dump-- version 3.5.1-- http://www.phpmyadmin.net---- 主机: localhost-- 生成日期: ...
- 停止某个机房所有机器上包的脚本 pack_idc_stop.py
一.初衷: 鉴于公司的进程包package都是冗余多点部署的,一般一个idc机房有多台机器部署同一个package.当机房网络出问题的时候,我们不得不查到本机房部署了哪些package,并在包发布系统 ...