!!!!!安卓界面总是显示载入进度条的问题,没事别乱用ListFragment
近期的安卓应用快完工了。可是个别界面有瑕疵,怎么改动都解决不了。挥之不去的阴影。问题例如以下:
在界面上,数据已经载入完成了。可还是有一股圆形的进度条,感觉它老是在载入什么东西,严重影响界面美观:
1. 布局用的是LinearLayout
2.界面布局用的是RelativeLayout
各种方法都试过了,当然都是基于布局文件的改动,什么fill_parent啦,alignBotton啦,换不同的layout啦,各种属性试了个遍,都不行。为了这个布局问题整整折腾了三天。
反正。在布局文件上再怎么折腾可能都没戏了。
静下心来想想。问题会不会出在其它地方。而不是布局文件?
回忆起刚学Android那几天,照着书上的样例写,当中有提到ListView的部分。也提到了圆形的进度条。于是翻开书本,找到那个章节,忽然就柳暗花明了!
注意看照片中划线的文字:“当ListView没有内容能够显示时... ... 显示一个圆形进度条”。好吧,难道是问题出在应用的ListView?
那就来看看这个界面中的ListView是怎么回事:
<? xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:id="@+id/fragmentContainer"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" > <LinearLayout>
<--表头,忽略-->
</LinearLayout> <ListView
android:id="@+id/list_uploadinfo_1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:dividerHeight="1px"
android:divider="#B8B8B8" >
</ListView> <Button android:text="各网站上传数量图"/> <LinearLayout>
<--表头,忽略-->
</LinearLayout> <ListView
android:id="@+id/list_uploadinfo_2"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:dividerHeight="1px" android:divider="#B8B8B8" >
</ListView> <Button android:text="每月上传数趋势图表"/> </LinearLayout>
</ScrollView>
结构上,有两个ListView,但他们都已经用数据填满了。不存在没有内容的问题。
那难道还有其它的ListView? 答案还真就是有其它的ListView,并且,是那个最大的ListView,却被我忽略了:
public class UploadInfoFragment extends ListFragment { //注意。是继承了ListFragment
private HashMap<String, Integer> monthQuantityMap;
private HashMap<String, Integer> stationQuantityMap;
...}
就是控制这个界面的Fragment。它继承了ListFragment,也就须要自己的ListView来展示内容。可是仅仅有刚才的两个内部ListView填充了内容,外面这个大的没有,所以才会有这个挥之不去的圆形进度条。!!
那怎么办?非常easy,既然并不须要往这个最大的ListView中填充数据,那何必要用ListFragment 呢?全然能够用普通的Fragment嘛。
事实上,之所以这里用的是ListFragment,全然是由于在做这个功能的时候,大部分代码都是从其它功能搬过来的,所以把ListFragment也搬了过来。

然后进行改动,让这个类继承普通的 Fragment 就可以:
public class UploadInfoFragment extends Fragment { //注意,用普通的Fragment就可以
private HashMap<String, Integer> monthQuantityMap;
private HashMap<String, Integer> stationQuantityMap;
...}
最终把讨厌的圆形进度条赶走了,问题解决!
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhvdXlpbmdnZTExMDQ=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
总结:有些常见的问题,网上随便一查就有,但这些藏的比較深的问题,一般非常难在网上直接查到。这个时候假设能细致地取翻一翻书本,也许会有惊喜的发现~
另外,平时在看书的时候还是认真一点为好,这样,有些细节就能印在脑子里。说不定什么时候就派上用场了~
!!!!!安卓界面总是显示载入进度条的问题,没事别乱用ListFragment的更多相关文章
- Unity发布WebGL时如何修改默认的载入进度条
Unity发布WebGL版本后,需要去除Unity的Logo,首先关闭Splash Image去除Made with Unity启动画面(在File->Build Settings->Pl ...
- 【jQuery】页面顶部显示的进度条效果
<!Doctype html> <html> <head> <title>页面顶部显示的进度条效果</title> <meta htt ...
- python实现显示安装进度条
一直很好奇那种安装进度条,或者启动程序时候显示的进度条是怎么实现的,学习了python之后,sys模块中有个方法可以实现,代码如下: 1 2 3 4 5 6 import sys,time ...
- 怎样控制界面控件之进度条(ProgressBar)功能
一.基础知识: 1.ProgressBar在界面文件XML中的布局: [html] <progressBar android:id="@+id/progressbar_updown&q ...
- HTML5 CSS3 诱人的实例 : 网页载入进度条的实现,下载进度条等
今天给大家带来一个比較炫的进度条,进度条在一耗时操作上给用户一个比較好的体验,不会让用户认为在盲目等待,对于没有进度条的长时间等待,用户会任务死机了,毫不犹豫的关掉应用:一般用于下载任务,删除大量任务 ...
- thinkpad 睡眠唤醒后热键功能正常,但屏幕无法显示状态/进度条/图标
由于博主比较习惯笔记本开盖即用,合盖即走,不大习惯开机关机(毕竟SSD速度杠杠滴^_^).可是发现笔记本长时间睡眠乃至休眠唤醒后,使用thinkpad热键,虽然可以调节,但屏幕不显示调节状态了.解决步 ...
- linux下命令行工具gcp显示拷贝进度条
1.环境: ubuntu16.04 Linux jello 4.4.0-89-generic #112-Ubuntu SMP Mon Jul 31 19:38:41 UTC 2017 x86_64 x ...
- 网页载入进度条中的javascript
demo地址:http://output.jsbin.com/buquyedosa 思路例如以下:代码都有凝视,就不一一介绍了. <!DOCTYPE html> <html> ...
- 拼接html不显示layui进度条解决方法
最新有个新需求,要异步拼接html并渲染数据,并且我这边是用layui的flow.load(流加载)渲染多个进度条.按官网给出的 element.progress('demo', n+'%'); 就是 ...
随机推荐
- Qt学习之路(24): QPainter(改写paintEvent)
多些大家对我的支持啊!有朋友也提出,前面的几节有关event的教程缺少例子.因为event比较难做例子,也就没有去写,只是把大概写了一下.今天带来的是新的部分,有关Qt的2D绘图.这部分不像前面的内容 ...
- Java 多线程-生产者、消费者
一.整体代码 ThreadDemo.java public class ThreadDemo { public static void main(String[] args) { Godown god ...
- (读书笔记).NET大局观-.NET框架类库概观
.NET框架类库概况 构建在.NET框架上所有的软件,都会用到通用语言进行时,即使基于最简单的CLR程序,也需要用到一部分.NET框架类库,更精致复杂的软件则使用这个类库提供的更多服务. .NET框架 ...
- 用CentOS,fedora等访问局域网中的Windows共享
来到Linux世界中已有一段时间了,感觉上好像自己的电脑成了一个孤岛.周围的人都还是用Windows系统,能相互共享文件,我用Linux系统,别人的共享文件都还不知道怎么访问?通过网上查资料学习,现在 ...
- C#:总结页面传值几种方法
小知识点: 1. W7自带 .NetFrameWork 3.5, 兼容模式为 高版本号兼容低版本号: 2. WF和WPF都是基于XAML的,可是两者的用途不同. WF是一种开发框架,将工作流嵌入在. ...
- Java中StringBuilder的清空方法比較
StringBuilder 没有提供clear或empty方法. 清空有3种方法: 1)新生成一个,旧的由系统自己主动回收 2)使用delete 3)使用setLength 将三种方法循环1000万次 ...
- MSSQL - 创建新用户
1.首先使用Windows身份验证登陆. 2.然后一次打开:安全性--->登录名.右键登录名,点击新建登录名. 3.常规选项卡下:填写登录名.选择SQL Server身份验证,填写登录名密码.取 ...
- Java基础05 实施接口
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在封装与接口中,private关键字封装了对象的内部成员.经过封装,产品隐藏了内部 ...
- OC中线程的状态相关
1.线程的状态NSThread *thread = [[NSThread alloc] initWithTarget:self selector:@selector(run) object:nil]; ...
- Ch04 充满动作的控制器
4.1 考察控制器和动作 4.1.1 IController与控制器基类 4.1.2 如何形成动作方法 4.2 哪些应该放在动作方法中 4.2.1 手动映射视图模型 4.2.2 输入验证 ...