アイテムをクリックするとビューが左にスライドするListViewが1つ必要です。
ので、私は持っています:
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
arg1.startAnimation(openAnimation);
}
});
ただし、アニメーションは、クリックされたアイテムではなく、リスト内の別のアイテムに適用されました。同時に複数のアイテムに発生することがあるため、動作はランダムに見えます。
私が推測したように、これはアダプタがアイテムを作成するためにビューを再利用する方法によるものです。アダプタのgetViewメソッドを変更して、呼び出されるたびに新しいビューを拡張しました。そうすれば、アニメーションはもう起こりません。
これを解決する方法はありますか?アニメーションをアダプタ内に移動しようとしましたが、リストビューの他のアクションと関連付けることができません。
最終的には、アイテムをクリック可能にしたいのですが、左/右にスワイプすると削除ボタンが表示されます(iOSの削除動作)。私はここで間違った方向に進んでいますか?Androidは通知バーでスワイプを実装して削除できるため、これは可能です。