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

求各位大神帮忙解决一下呀~ 贴出我的代码 我想实现的是一个我自定义列表点击某一个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只在第一次执行动画。。。


2个回答

使用两个标识

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

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

sld22525482
「已注销」 额。。大神,能麻烦简单写一个demo吗,第一个问题你说的方法还不是很了解啊。。。就是点以一个item其他的item变回原来的样子,还有大神你的第一个方法和设置一个flag是一样的吗?如果是的话我点击了其他的item这个item变回原来的样子再点击就还是出发不了了啊
4 年多之前 回复

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

sld22525482
「已注销」 大神,能麻烦简单写一个demo吗。。
4 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐