关于AnimationListener嵌套回调

BeautyKael 2017-11-17 12:10:21
各位代码如下:
为啥test 执行结果在postion1 位置第二次设置的callback没起作用呢?
放在AnimationListener里的就首次设置的有效
position 2位置的callback就是正常的.


public class JavaTest {

private Context context;

public void test() {
testAnim(new ICallBack() {
@Override
public void onCallBack() {
// call back 1
}
});

testAnim(new ICallBack() {
@Override
public void onCallBack() {
//call back 2
}
});

//result
//position 1
//call back 1
//call back 1

//position 2
//call back 1
//call back 2

}

public void testAnim(final ICallBack callBack) {
Animation animation = new AlphaAnimation(0.0f, 1.0f);
AnimationListener listener = new AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {

}

@Override
public void onAnimationEnd(Animation animation) {
/**
* position 1
*/
if (null != callBack) {
callBack.onCallBack();
}
}

@Override
public void onAnimationRepeat(Animation animation) {

}
};
animation.setAnimationListener(listener);
View view = new TextView(context);
view.startAnimation(animation);
/**
* position 2
*/
if (null != callBack) {
callBack.onCallBack();
}
}

public interface ICallBack {

void onCallBack();
}
}
...全文
108 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧