【发布时间】:2015-12-01 15:35:59
【问题描述】:
我有两个函数可以为两个不同的 TextView 设置动画,但它们似乎同时开始,但我试图让第一个函数的动画先完成,然后再启动第二个函数。
public Boolean functionFinished = false;
public void runFunction(){
firstFunction();
if(functionFinished = true){
secondFunction();
}
}
public void firstFunction(){
initialCount = (TextView) findViewById(R.id.textView_Fade);
initialCount.setText("3");
final Animation out = new AlphaAnimation(1.0f, 0.0f);
out.setDuration(1000);
initialCount.startAnimation(out);
out.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
if(initialCount.getText().equals("3")){
initialCount.setText("2");
initialCount.startAnimation(out);
} else if(initialCount.getText().equals("2")){
initialCount.setText("1");
initialCount.startAnimation(out);
} else if (initialCount.getText().equals("1")){
initialCount.setText("START!");
}
}
@Override
public void onAnimationRepeat(Animation animation) {
}
});
functionFinished = true;
}
第二个函数只是从 0 开始每秒更改自己的 textView。
我做错了什么/如何纠正这个问题,以便第二个函数在第一个函数完成后运行? (即,仅当 firstFunction 中的 TextView 为“START!”时才将 functionFinished 设置为 true)
【问题讨论】: