Я пытаюсь запустить одну анимацию после завершения другой, отслеживая обратный вызов onanimationEnd первой.Однако Android выдает следующую ошибку, когда я пытаюсь сделать это:
Ошибка - метод loadAnimation (Context, int) в типе AnimationUtils не применим для аргументов (new Animation.AnimationListener () {}, int)
Я пытался использовать ответ в этом посте: --- Android-анимация одна за другой Что я интерпретировал как означающее, что я должен переместить все, кроме начальной анимации, из обратного вызова,но когда я делаю это, я получаю следующую ошибку:
Ошибка - Невозможно обратиться к неконечной переменной fade3 внутри внутреннего класса, определенного в другом методе
Чего мне здесь не хватает ???
****** КОД ДЛЯ ПЕРВОГО ПРИМЕРА **********
package com.smartproducts.dragracepro;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.util.TypedValue;
import android.view.Gravity;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.Animation.AnimationListener;
import android.view.animation.AnimationUtils;
import android.view.animation.LayoutAnimationController;
import android.widget.ImageView;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.TextView;
public class DragRaceProSplashActivity extends DragRaceProActivity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.splash);
//animate title fade in
TextView programtitle = (TextView) findViewById(R.id.TextViewTopTitle);
Animation fade1 = AnimationUtils.loadAnimation(this,R.anim.fade_in);
programtitle.startAnimation(fade1);
//show introduction and logo for Smart Shocks
fade1.setAnimationListener(new AnimationListener(){
@Override
public void onAnimationEnd(Animation fade1)
{
***************
ERROR IS HERE> Animation fade3 = AnimationUtils.loadAnimation(this,R.anim.fade_in2); ***************
ImageView sslogo = (ImageView) findViewById(R.id.ImageView03);
sslogo.setVisibility(View.VISIBLE);
sslogo.startAnimation(fade3);
}
@Override
public void onAnimationRepeat(Animation animation) {}
@Override
public void onAnimationStart(Animation animation) {}
});
}