Android下设置ListView数据加载完成后执行layoutanimation

今天使用android的volley框架写了一个简单的网络天气获取的demo。

承载数据的空间是ListView

因为是网络加载,必然先要设置ListView的默认数据,我设置的就是那个Loading...

然后从网络获取到数据后,再解析,然后更新到adapter,然后notifyDataSetChanged更新数据到ListView。

可是ListView设置了layoutanimation,这样默认的ListView打开后那个Loading执行了动画,当网络数据加载完毕后,

layoutanimation就不会再次执行了!

网上搜索无果,可能是新手,不太熟悉,发到CSDN上也没有人回答我!

最后自己研究发现,自己使用的是XML的方式设置的layoutanimation,所以ListView加载后就开始执行了!

<ListView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/listView"
        android:layout_centerVertical="true"
        android:layoutAnimation="@anim/list_anim_layout2"
        android:layout_centerHorizontal="true"/>

于是想到用代码执行animation,先把所有animation加载,然后网络数据加载完毕并更新到Listview后再把animation绑定到Listview上。

 1 private LayoutAnimationController lac;
 2
 3 // --  @加载ListView的layoutanimation动画
 4     lac=AnimationUtils.loadLayoutAnimation(WeatherActivity.this,R.anim.list_anim_layout2);
 5
 6 //after response
 7 .......
 8 // --  @更新数据到ListView
 9 adapter.notifyDataSetChanged();
10 // --  @加载完成后设置layoutanimation执行动画效果
11 listVview.setLayoutAnimation(lac);

这样就实现了预定的功能,初学不熟悉就是各种纠结,说不准就拐到那个死角就拐不出来了...!

[email protected]年1月28日11:31:25 - 若不坚强、懦弱给谁来可怜!

时间: 2024-08-02 01:53:34

Android下设置ListView数据加载完成后执行layoutanimation的相关文章

PageSlider中CSS3动画在除首屏之外先加载页面后执行动画的问题

PageSlider中CSS3动画在除首屏之外先加载页面后执行动画的问题,PageSlider中加入CSS3动画的话,默认只有首屏是从无到有执行动画,其他屏都是显示下页面再执行动画 这就造成其他屏的动画展示效果不好,解决方法,让所有屏的背景可见,但是只要当前屏的元素可见; 上代码: .page { width: 100%; height: 100%; -webkit-backface-visibility: hidden; -webkit-perspective: 1000; div, ul,

js中页面加载完成后执行的几种方式及执行顺序

在js和jquery使用中,经常使用到页面加载完成后执行某一方法.通过整理,大概是五种方式(其中有的只是书写方式不一样). 1:使用jQuery的$(function){}; 2:使用jquery的$(document).ready(function(){});前两者本质上没有区别,第1种是第2种的简写方式.两个是document加载完成后就执行方法. 3:使用jQuery的$(window).load(function(){}); 4:使用window.onload = function(){

android 队列模仿listview同步加载图片

我们今天在listview加载图片都是异步的,如果有个需求要求listview同步加载图片,同步加载图片是什么意思呢?就是第一张图片下载好了,然后接着第二张图片下载,依次类推,今天就简单的模仿写个简单的,而且下载的图片还要缓存到SD卡中 思路: 队列是用LinkedList集合模拟, 缓存:当图片下载成功了把当前图片对应的url经过md5加密存到sd卡中的某个子文件夹下,当用户再次进来的时候,可以adapter中判断这个url是否存在,如果存在就加载这个url对应的图片,就达到了缓存的目的 代码

在css加载完毕后执行后续代码

最近在写项目的framework,写个JQueryMessageBox的类,以使用jquery ui中的dialog()来显示消息框,为了使方法方便调用,便加入了自动判断页面是否加入了ui.js和ui.css,代码如下: [javascript] view plaincopyprint? //如果没有包含ui.js,则引用 if ($('script[src$=""jquery-ui-1.8.11.custom.min.js""]').length == 0) {{

window.onload在文档加载完成后执行

验证a .b两点疑惑: a.<script src="./main.js"></script>中的window.onload是在html全部加载完了才执行,还是其在html中所处位置之前的加载完就执行? b. <script src="./main.js"></script>中window.onload有和没有 的区别是什么? 结论: a. answer:在html全部加载完了才执行. b. answer:区别就是,w

Android -ListView数据加载补充

ListView展示数据,需要三个点: 1.ListView:  用来展示列表的View. 2.Adapter: 用来把数据映射到ListView上,它被认为是连接listview和Data的桥梁 3.Data:    具体的将被映射的字符串,图片,或者基本组件. 系统是如何绘制Listview的呢? 1.首先用getCount()函数得到要绘制的这个列表的长度: 2.然后开始绘制:调用getView()函数.在这个函数里面首先获得一个View(这个看实际情况,如果是一个简单的显示则是View,

spring 容器加载完成后执行某个方法

理论 刚好再开发过程中遇到了要在项目启动后自动开启某个服务,由于使用了spring,我在使用了spring的listener,它有onApplicationEvent()方法,在Spring容器将所有的Bean都初始化完成之后,就会执行该方法. 应用场景:很多时候我们想要在某个类加载完毕时干某件事情,但是使用了spring管理对象,我们这个类引用了其他类(可能是更复杂的关联),所以当我们去使用这个类做事情时发现包空指针错误,这是因为我们这个类有可能已经初始化完成,但是引用的其他类不一定初始化完成

iframe框架加载完成后执行函数

var iframe = document.createElement("iframe"); iframe.src = "http://www.baidu.com/"; if (!/*@[email protected]*/0) { //if not IE iframe.onload = function(){ alert("框架加载完毕."); }; } else { iframe.onreadystatechange = function()

判断页面所有图片加载完成后执行操作

$(function(){ var _srcList = [], i = 0; //获取所有图片路径,存为数组 $('.bg').each(function(){ _srcList.push($(this).attr('src')); }) function imgLoadComplate(imgSrc){ var _img = new Image(); _img.src = imgSrc; _img.onload = function(){ //判断是否加载到最后一个图片 if (i < _s