如何使用动画更新ListView的单行?

时间:2011-08-25 14:39:05

标签: android android-listview

我有一个包含多行的ListView,用户可以通过按这些行上的按钮来启动异步任务。启动任务时,相应的行应显示一些“正在加载”视图,当任务完成时,该行应显示该异步任务的结果。

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

我只想修改一行,我想用一个漂亮的动画来做。 AFAIK,每当ListView后面的数据发生变化时,你总是必须在适配器上调用.onDataSetChanged(),否则就会出现异常。

那么有可能以某种方式将新数据加载到ListView行中,并以动画形式呈现它(仅影响修改后的行)吗?

由于

1 个答案:

答案 0 :(得分:3)

这样做的一种方法是选择子视图并将动画添加到该视图。完成动画后,您可以更新视图的值。 就像是 getListView.getChildAt(指数).startAnimation(阿尼姆);

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