安卓程序的一个逻辑小问题求解

求各位大神帮忙解决一下呀~ 贴出我的代码 我想实现的是一个我自定义列表点击某一个item的时时候执行一个动画,即点击的item变大( startScaleAnimator(view, 0.6f, 1.0f);),然后点击其他item的时候被点击的item执行动画,其他item执行 startScaleAnimator(view, 1.0f, 0.6f);即便会原来的大小,请问这个逻辑要怎么写啊,求个demo~~~

@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
System.out.println(position);
switch (position) {
case 0:
startScaleAnimator(view, 0.6f, 1.0f);
break;
case 1:
startScaleAnimator(view, 0.6f, 1.0f);
break;
case 2:
startScaleAnimator(view, 0.6f, 1.0f);
break;
}

}

求大神帮个忙这个想了好久,应该不是用switchcase来做吧,可是有没思路T T 。。
还有一点就是我这样写点击的item执行了一次动画,再点击一次又执行了一次,这不是想要的效果,重复点击一个item只在第一次执行动画。。。


使用两个标识

第一个标识:记录上一个点击的位置,在再次点击另一个的时候,使用notifyDataSetChanged(),方法刷新,对比上一个点击的位置,还原。

第二个标识:在你点击的item的view的setTag()方法里添加表示,如果是true或者1 表示点击过了,然后再次点击同一个item,取出当前tag是否是true或者是1,如果是true或者是1,则不再执行动画,反之,执行动画。

这个不就类似于viewpager+Frament的点击事件吗? 写个清空动画的,点击一个item所有item清空动画,下面再写被点击的则执行动画。