像listview调用getView()时第一次刷新或重新传输新的convertView

时间:2015-04-01 16:20:18

标签: android listview android-listview convertview

我有一个使用GestureDetector处理向左滑动的列表视图。 对于每个项目,布局如下:

[FrameLayout]
    [LinearLayout] hidden_menu [/LinearLayout]
    [LinearLayout] main_layout [/LinearLayout]
[/FrameLayout]

,它将处理onTouchListener。当我将main_layout移动到右侧时,hidden_​​menu将显示为 [sample image]。当将其他项目移动到右边,或者移动UP或moveDOWN列表视图时,我将使用ObjectAnimator(x)隐藏旧(或打开)项目的hidden_​​menu,并在最后的动画中调用main_layout.invalidate()。

我的问题是滚动列表视图时,它会重复使用ViewHolder模式的行布局,因此新行布局错误(某些hidden_​​layout可见)。

1)调用getView()时刷新新项目的想法是什么?

2)或者如何像第一次刷新动画项目

我希望你们能理解我!

谢谢和最诚挚的问候!

1 个答案:

答案 0 :(得分:0)

我在我的案例中找到了解决方案:

if(holder.mHiddenMenu.getLeft() != 0) {
    holder.mHiddenMenu.setTranslationX(0);
}