2011-08-25 83 views
2

我有一个ListView有几行,用户可以通过按这些行上的按钮来启动异步任务。当任务启动时,相应的行应显示一些“加载”视图,并且任务完成时,该行应显示该异步任务的结果。如何用动画更新ListView的单行?

功能上,一切正在工作。但我想用动画切换一个行的状态。现在,当行的状态必须改变时(例如,加载 - >某些内容),我总是在ListView的适配器上调用.onDataSetChanged()。但是这会重新加载/重绘整个ListView。

我只想修改一行,我想用一个很好的动画来做。 AFAIK,无论何时ListView后面的数据发生更改,您都必须在适配器上调用.onDataSetChanged(),否则您将得到一个Exception。

那么是否有可能以某种方式将新数据加载到ListView行,并将其与动画一起呈现(仅影响修改后的行)?

感谢

回答

3

1周井的方式做到这一点是选择子视图和动画添加到这一观点。当动画完成后,您可以更新视图的值。 类似于 getListView.getChildAt(index).startAnimation(anim);

并将动画侦听器添加到'anim',以便在动画结束时更新值。