ListView动画不在第一个/前3-4个可见列表项上工作

时间:2014-12-29 18:18:44

标签: android listview android-listview android-animation

某人已经问过类似的问题here 但我的动画适用于所有其他列表项,除了创建列表视图后可见的前3-4个列表项。基本上,我致电NotifyDataSetChanged(),然后根据getView()中实施的条件,valueAnimation启动TextView。我不知道为什么它的listview表现得像这样......这背后的原因是什么?
如何在不致电InvalidaeViews() 的情况下处理此问题。 我有双/三检查我的逻辑,甚至问别人,所以让我们假设我的逻辑工作正常。 感谢。

2 个答案:

答案 0 :(得分:0)

我有类似的问题,而不是

NotifyDataSetChanged()

哪个没有改变任何东西,我尝试创建一个新的适配器,并将其设置为listview。

userAdapter = new UserCustomAdapter(.....);
userList.setAdapter(userAdapter); 

希望它有所帮助。

编辑:检查这些行

  if (row == null) {
       LayoutInflater inflater = ((Activity) context).getLayoutInflater();
       row = inflater.inflate(layoutResourceId, parent, false);
       holder = new UserHolder();
      } else {
       holder = (UserHolder) row.getTag();
      }

答案 1 :(得分:0)

最后我用[RecyclerView][1]解决了这个问题。
现在我没有invalidateViews()或重置new MyAdapter(...)
我面临的另一个问题是当我在textview(在列表项目中)和滚动(listview)上运行动画时,你的viewHolder回收/重用该列表项,然后动画可能在textview上运行。所以我也必须处理这个问题。感谢