¿Cómo animar el elemento en ListView cuando se hace clic?

Quiero tener un ListView que cuando hago clic en el elemento de la vista de diapositiva a la izquierda.

Así que tengo:

listView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { arg1.startAnimation(openAnimation); } }); 

Sin embargo, la animación se aplica a los diferentes elementos de la lista en lugar de la que se hace clic en. El comportamiento parece ser al azar como en algún momento sucedió a más de un elemento al mismo tiempo.

Como sospecho que esto es debido a la forma de reutilizar el adaptador de su vista para crear el elemento. Fui a modificar el método getView en mi adaptador para inflar nueva vista cada vez que se está llamando. Entonces la animación no sucede más.

¿Hay una manera de resolver esto? Intenté mover la animación a dentro de mi adaptador pero después no puedo asociarlo con la otra acción en el Listview.

En última instancia, quiero que el elemento sea clicable, pero cuando deslizar izquierda / derecha revelar botón de eliminación (iOS eliminar el comportamiento). ¿Estoy en el camino equivocado? Esto debería ser posible aunque como Android puede implementar deslizar para eliminar en la barra de notificación.

Recomiendo que compruebe este hilo también.

No creo que esto sea posible sin tener que modificar su adaptador para adaptarse a este tipo de comportamiento. Por lo que entiendo, no tienes ningún problema con la implementación del código de reconocimiento de los gestos de deslizamiento en diferentes filas ListView, sólo con la animación debe seguir este gesto de acuerdo a fila (s).

Yo reescribiría el adaptador para adaptarse a al menos 2 tipos de fila: filas normales y filas que se eliminarán. En el método "getView ()" de su adaptador, sólo debe volver a usar el convertidor de vistas normales. Las filas que se van a eliminar no deben reutilizarlas, de modo que animarlas no modifica las otras. Al hacer clic en una fila normal, primero debe decirle al adaptador que la fila en la posición de clic es ahora del tipo to-be-deleted, llame a .notifyDatasetChanged () y, a continuación, inicie la animación en esa fila.

  • Animado (VectorDrawable) animado mediante programación en tiempo de ejecución
  • ANDROID - cómo comprobar si la animación se está ejecutando antes de comenzar la nueva animación
  • Tween animación en una lona en una vista personalizada
  • Animación personalizada en Android
  • ¿Hay un equivalente TweenMax en Java
  • ViewPager anidado en ViewPager
  • Android aplicar color a la animación alfa
  • Cómo aumentar la velocidad de rotación en android?
  • Implementar un indicador de actividad giratoria similar a iOS en Android
  • Android ViewPropertyAnimator no se escala al mismo tiempo
  • Dibuja animaciones de alta resolución con alta velocidad de fotogramas en Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.