【发布时间】:2015-01-06 13:45:18
【问题描述】:
我遇到过许多与我类似的问题。 但是我有一个稍微不同的问题,我还没有找到任何答案。
我为我的 ListView 编写了一个 CustomAdapter。 我想通过为我的 ListView 项目实现动画来尝试一些新的东西。 因此,我实现了类似于 Google+ 卡片动画的自下而上动画。 这是动画的代码。
Animation animation = AnimationUtils.loadAnimation(getContext(), (position > lastPosition) ? R.anim.up_from_bottom : R.anim.down_from_top);
animation.setDuration(400);
rowView.startAnimation(animation);
lastPosition = position;
我已经在我的 CustomAdapter 的 getView() 中编写了这段代码。
在我的应用程序中,我需要调用两次 getView() 方法。 到这里为止一切正常。
现在我因为多次调用 getView() 而面临的问题是,卡片动画也一个接一个地出现两次,因为我的列表被加载了两次。
如何让我的动画只执行一次?即使它在 getView() 方法中?
有没有办法做到这一点?
【问题讨论】:
-
您可以在适配器中发送任何标志,并根据标志值执行动画内容
-
@Anjali,我尝试这样做,但我仍然得到相同的结果。一个列表是从网络调用加载的,同时另一个列表是从我通过意图传递的数据加载的。所以 getView() 被调用了两次。
-
@ShrutiDasgopal:你怎么又给
getView()打电话了? -
你能分享你的代码吗?
-
@ρяσѕρєяK,我不再调用 getView()。只是我将列表(一个来自网络调用,另一个来自意图)存储在“mListOfItems”中。
customListAdapter = new GSSListAdapter(ListViewGalaxkeySecure.this, mListOfItems); mListView.setAdapter(customListAdapter);
标签: android listview animation