左スワイプを処理するために GestureDetector を使用するリストビューがあります。各項目について、以下のようにレイアウトします。
[FrameLayout]
[LinearLayout] hidden_menu [/LinearLayout]
[LinearLayout] main_layout [/LinearLayout]
[/FrameLayout]
、onTouchListenerを処理します。main_layout を右に移動すると、hidden_menu が表示されます[サンプル画像]。他のアイテムを右に移動するか、リストビューを上に移動または下に移動すると、ObjectAnimator (x) を使用して古い (または開いた) アイテムの hidden_menu を非表示にし、最後にアニメーションで main_layout.invalidate() を呼び出します。
私の問題は、リストビューをスクロールするときに、ViewHolder パターンで行レイアウトを再利用するため、新しい行が間違ったレイアウトになることです (一部の hidden_layout が表示されます)。
1) getView() が呼び出されたときに新しいアイテムを更新するアイデアはありますか?
2) または、最初のようにアニメーション アイテムを更新する方法
皆さんが私を理解してくれることを願っています!
よろしくお願いします!