zoukankan      html  css  js  c++  java
  • 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);

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

    waitfate@2015年1月28日11:31:25 - 若不坚强、懦弱给谁来可怜!

  • 相关阅读:
    8种CSS清除浮动的方法优缺点分析
    link和@import的区别
    删除表及删除表中数据的方法
    【HTML5】---【HTML5提供的一些新的标签用法以及和HTML 4的区别】
    【HTML】---HTML语义化
    【HTML5】页面点击按钮添加一行 删除一行 全选 反选 全不选
    第四篇:python 高级之面向对象初级
    第三篇:python高级之生成器&迭代器
    第二篇:python高级之装饰器
    第一篇:python高级之函数
  • 原文地址:https://www.cnblogs.com/waitfate/p/4255341.html
Copyright © 2011-2022 走看看