!!!!!安卓界面总是显示加载进度条的问题,没事别乱用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填充了内容,外面这个大的没有,所以才会有这个挥之不去的圆形进度条!!!

那怎么办?很简单,既然并不需要往这个最大的ListView中填充数据,那何必要用ListFragment 呢?完全可以用普通的Fragment嘛。

其实,之所以这里用的是ListFragment,完全是因为在做这个功能的时候,大部分代码都是从其他功能搬过来的,所以把ListFragment也搬了过来。

然后进行修改,让这个类继承普通的 Fragment 即可:

public class UploadInfoFragment extends Fragment { //注意,用普通的Fragment即可
	private HashMap<String, Integer> monthQuantityMap;
	private HashMap<String, Integer> stationQuantityMap;
	...}

终于把讨厌的圆形进度条赶走了,问题解决!

总结:有些常见的问题,网上随便一查就有,但这些藏的比较深的问题,一般很难在网上直接查到,这个时候如果能仔细地取翻一翻书本,或许会有惊喜的发现~

另外,平时在看书的时候还是认真一点为好,这样,有些细节就能印在脑子里,说不定什么时候就派上用场了~

时间: 2024-08-01 03:57:45

!!!!!安卓界面总是显示加载进度条的问题,没事别乱用ListFragment的相关文章

WebView 自定义错误界面,WebView 加载进度条,和Logding 效果

---恢复内容开始--- 下载地址,代码就不粘贴了 http://pan.baidu.com/s/1eQncg86 ---恢复内容结束--- 我没有判断是不是网络原因,各位自行判断吧,图片错误信息,及重现加载各种美化的样式请自己写吧,右边的是加载网页的进度条 里面还有一个弹出的dialog 的加载效果, 地址 http://www.cnblogs.com/Mr-Wu/p/4187934.html

网站顶部显示预加载进度条preload.js

网站加载的速度快的话,不会显示进度条加载时候的样式. 支持性主流浏览器都支持,ie浏览器需要9以上9也支持. 使用方法 <script src="http://code.jquery.com/jquery-1.7.1.min.js"></script> <script src="js/preload.js"></script> <script type="text/javascript">

网页加载进度条的JS程序开发思路与实际应用

一款好的产品,都需要有一个漂亮的loading界面.lodaing界面不仅能给用户带来良好的体验,而且有效的消除了程序加载等待过程中的枯躁感. loading进度条更是对当前加载进度的一个良好反馈.从0%-100%的加载进度可以有效的告知用户还有多久即可打开页面.带有进度条的loading界面在程序中并不罕见,但是在web中呢?到目前为止浏览器并没有提供有效的浏览器对象来反馈页面的加载进度,所以无法直接.便捷的获得页面加载进度的反馈.本文主要是讲述如何以通过jquery的方式来实现页面加载进度的

网页加载进度条的实现

本次主要介绍一下网页加载进度的实现.如下图,在页面加载的时候,上方红色的进度条 网页加载进度的好处是能够更好的反应当前网页的加载进度情况,loading进度条可用动画的形式从开始0%到100%完成网页加载这一过程.但是目前的浏览器并没有提供页面加载进度方面的接口,也就是说页面还无法准确返回页面实际加载的进度,本文中我们使用jQuery来实现页面加载进度条效果. 首先我们要知道的是,目前没有任何浏览器可以直接获取正在加载对象的大小.所以我们无法通过数据大小来实现0-100%的加载显示过程. 因此我

你没见过吧?16款形态各异的加载进度条设计

互联网连接越来越快,但难免有一些时刻需要我们等待.在这种情况下,创意的设计师尽力减轻用户等待的痛苦,苦思敏想设计各种创意的进度条(或加载条)效果 ,让用户等待的过程变得更加愉悦. 您可能感兴趣的相关文章 22套 Web & Mobile PSD 用户界面素材 45套精美的手机界面设计素材和设计工具 分享30套精美的Web和手机开发UI素材 60个精美的免费移动开发PSD素材资源 45套新鲜出炉的精美 PSD 网页设计素材 Loading by pearlsomani Flat Loading B

网页加载进度条

( 网页加载时,有时内容过多,一直加载等待,而此时网页显示白色不显示任何的东西,给用户的体验相当不好,所以,一般会在网页加载成功前,会以进度条的形式,给用户进行展示.让用户可以看到动画,知道网页正在加载中) 常见的方式有以下: 1. 定时器的进度条(假的) <script type="text/javascript">     $(function(){         var loading='<div class="loading">&l

webView 加载进度条,webView返回键重写机制

1.图片延时加载 brower = (WebView) this.findViewById(R.id.brower); settings = brower.getSettings(); settings.setJavaScriptEnabled(true); //阻塞图片下载 settings.setBlockNetworkImage(true); private class Client extends WebViewClient     {         @Override        

可爱!带有数字显示的加载进度条效果插件

可爱!带有数字显示的加载进度条效果插件 有的时候,在我们的应用程序中,我们希望能够显示特定任务的百分比进度.这里分享的这款小巧的 JavaScript 插件就是实现这个功能,易于使用和定制,而且是是免费开源的. 立即下载      在线演示 有的时候,在我们的应用程序中,我们希望能够显示特定任务的百分比进度.这里分享的这款小巧的 JavaScript 插件就是实现这个功能,易于使用和定制,而且是是免费开源的. 关键字:可爱!带有数字显示的加载进度条效果插件 下载地址:https://github

pace.js – 加载进度条插件

这儿只是简单介绍一下这个插件pace.js. 在页面中引入Pace.js,页面就会自动监测你的请求(包括Ajax请求),在事件循环滞后,会在页面记录加载的状态以及进度情况.此插件的兼容性很好,可以兼容IE8以上的所有主流插件,而且其强大之处在于,你还可以引入加载进度条的主题样式,你可以选择任意颜色和多种动画效果(例如简约.闪光灯,MAC OSX,左侧填充,顶部填充,计数器和弹跳等等动画效果),如果你擅长修改css动画,那你就可以做出无限种可能性的动画,为你的网站增添个性化特色! 调用方法: 引入