近期的安卓应用快完工了。可是个别界面有瑕疵,怎么改动都解决不了。挥之不去的阴影。问题例如以下:

在界面上,数据已经载入完成了。可还是有一股圆形的进度条,感觉它老是在载入什么东西,严重影响界面美观:

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的更多相关文章

  1. Unity发布WebGL时如何修改默认的载入进度条

    Unity发布WebGL版本后,需要去除Unity的Logo,首先关闭Splash Image去除Made with Unity启动画面(在File->Build Settings->Pl ...

  2. 【jQuery】页面顶部显示的进度条效果

    <!Doctype html> <html> <head> <title>页面顶部显示的进度条效果</title> <meta htt ...

  3. python实现显示安装进度条

    一直很好奇那种安装进度条,或者启动程序时候显示的进度条是怎么实现的,学习了python之后,sys模块中有个方法可以实现,代码如下:   1 2 3 4 5 6     import sys,time ...

  4. 怎样控制界面控件之进度条(ProgressBar)功能

    一.基础知识: 1.ProgressBar在界面文件XML中的布局: [html] <progressBar android:id="@+id/progressbar_updown&q ...

  5. HTML5 CSS3 诱人的实例 : 网页载入进度条的实现,下载进度条等

    今天给大家带来一个比較炫的进度条,进度条在一耗时操作上给用户一个比較好的体验,不会让用户认为在盲目等待,对于没有进度条的长时间等待,用户会任务死机了,毫不犹豫的关掉应用:一般用于下载任务,删除大量任务 ...

  6. thinkpad 睡眠唤醒后热键功能正常,但屏幕无法显示状态/进度条/图标

    由于博主比较习惯笔记本开盖即用,合盖即走,不大习惯开机关机(毕竟SSD速度杠杠滴^_^).可是发现笔记本长时间睡眠乃至休眠唤醒后,使用thinkpad热键,虽然可以调节,但屏幕不显示调节状态了.解决步 ...

  7. 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 ...

  8. 网页载入进度条中的javascript

    demo地址:http://output.jsbin.com/buquyedosa 思路例如以下:代码都有凝视,就不一一介绍了. <!DOCTYPE html> <html> ...

  9. 拼接html不显示layui进度条解决方法

    最新有个新需求,要异步拼接html并渲染数据,并且我这边是用layui的flow.load(流加载)渲染多个进度条.按官网给出的 element.progress('demo', n+'%'); 就是 ...

随机推荐

  1. [ExtJS5学习笔记]第十五节 Extjs5表格显示不友好?panel的frame属性在作怪

    本文地址:http://blog.csdn.net/sushengmiyan/article/details/39057243 sencha官方API:http://docs.sencha.com/e ...

  2. 网页制作之html基础学习4-格式与布局

    1.position:fixed 锁定位置(相对于浏览器的位置),例如有些网站的右下角弹窗 例: <head> <title>123</title> <sty ...

  3. 演练2-2:Guestbook示例应用程序

    为使Guestbook应用程序有用,我们需要为用户提供一些提交数据的方式,将这些数据存储起来,以便稍后进行查看.为了达到这一目标,我们打算对应用程序添加一个数据库,将其作为该留言簿的后台存储库. 1. ...

  4. FireMonkey下的异形窗体拖动(句柄转换)

    DelphiXE2 Firemoney FMX 的窗体不只是为windows的, 所以很多功能都没有了. 最常见的就是拖拽了 先看 VCL时代 一个经典拖动代码 ReleaseCapture(); S ...

  5. 基于visual Studio2013解决算法导论之009快速排序随机版本

     题目 快速排序随机版本 解决代码及点评 #include <stdio.h> #include <stdlib.h> #include <malloc.h> ...

  6. Math.random与java.util.Random的差别

    今天在做一道习题时想到了Math.random()与Random类有什么区别,查阅了一些资料,感觉讲的不是太好. 首先两者的区别是一个是方法,一个是类. 其实前者的实现借助与后者.大家可以看一下Mat ...

  7. 基于MapReduce的HBase开发

    在伪分布式模式和全分布式模式下 HBase 是架构在 HDFS 上的,因此完全可以将MapReduce 编程框架和 HBase 结合起来使用.也就是说,将 HBase 作为底层“存储结构”, MapR ...

  8. 编译kernel:配置

    韦东山Linux视频第1期_裸板_UBoot_文件系统_驱动初步\第10课第2节 内核启动流程分析之配置.WMV 下面以DM9000的配置为例: 在一个编译好的内核代码里,寻找CONFIG_DM900 ...

  9. Win7+花生壳6.0+tomcat打做自己的web服务器(搭建自己的网站)(参考)

    链接地址:http://blog.csdn.net/zhu_9527/article/details/23344623?utm_source=tuicool&utm_medium=referr ...

  10. javascript每日一练(三)——DOM一

    一.Dom基础 childNodes(有兼容问题),children nodeType getAttribute() firstChild,lastChild,previousSilbing,next ...