当 listview 调用 getView() 时,像第一次一样刷新或重新布局新的 convertView

Refresh or relayout the new convertView like first time when listview call getView()

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

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

,它会处理onTouchListener。当我将 main_layout 向右移动时, hidden_menu 将显示 [sample image]。当向右移动其他项目,或 moveUP 或 moveDOWN 列表视图时,我将使用 ObjectAnimator (x) 隐藏旧(或打开)项目的 hidden_menu,并在动画结束时调用 main_layout.invalidate() .

我的问题是当滚动列表视图时,它会重用带有 ViewHolder 模式的行布局,所以新行的布局是错误的(有些 hidden_layout 是可见的)。

1) 有什么想法可以在调用 getView() 时刷新新项目吗?

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

希望大家能理解我!

谢谢并致以最诚挚的问候!

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

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