2015-04-01 42 views
0

我有一個使用GestureDetector來處理向左滑動的列表視圖。 對於每個項目,佈局如下圖所示:刷新或重新佈局新的convertView像第一次當listview調用getView()

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

,它會處理onTouchListener。當我將main_layout向右移動時,hidden_​​menu將顯示 [sample image]。當將其他項目移動到右側或moveUP或moveDOWN列表視圖時,我將使用ObjectAnimator(x)隱藏舊的(或打開的)項目的hidden_​​menu,並在結尾Animation I調用main_layout.invalidate()。

我的問題是滾動listview時,它將重新使用ViewHolder模式的行佈局,所以新行是錯誤的佈局(一些hidden_​​layout是可見的)。

1)getView()被調用時刷新新項目的任何想法?

2)或如何刷新動畫項目像第一次

我希望你們能理解我!

謝謝,最好的問候!

回答

0

我發現我的情況的解決方案:

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