Je suis le classeur Sams Teach Yourself Applications Android et j'ai rempli ce qui suit pour la classe QuizSplashActivity, comme indiqué dans le livre. Cependant, je reçois une erreur dans le code que je mets en gras * *, où il est dit AnimationListener()
:erreur dans la classe d'activité concernant AnimationListener
package com.androidbook.triviaquiz;
import android.content.Intent;
import android.os.Bundle;
import android.view.animation.Animation;
import android.view.animation.Animation.AnimationListener;
import android.view.animation.AnimationUtils;
import android.view.animation.LayoutAnimationController;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.TextView;
public class QuizSplashActivity extends QuizActivity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.splash);
TextView logo1 = (TextView) findViewById(R.id.textViewTopTitle);
Animation fade1 = AnimationUtils.loadAnimation(this, R.anim.fade_in);
logo1.startAnimation(fade1);
TextView logo2 = (TextView) findViewById(R.id.textViewBottomTitle);
Animation fade3 = AnimationUtils.loadAnimation(this, R.anim.fade_in2);
logo2.startAnimation(fade3);
Animation spinin = AnimationUtils.loadAnimation(this, R.anim.custom_anim);
LayoutAnimationController controller = new LayoutAnimationController(spinin);
TableLayout table = (TableLayout) findViewById(R.id.tableLayout1);
for (int i = 0; i < table.getChildCount(); i++) {
TableRow row = (TableRow) table.getChildAt(i);
row.setLayoutAnimation(controller);
Animation fade2 = AnimationUtils.loadAnimation(this, R.anim.custom_anim);
fade2.setAnimationListener(new **AnimationListener()** {
public void onAnimationEnd(Animation animation) {
startActivity(new Intent(QuizSplashActivity.this, QuizMenuActivity.class));
QuizSplashActivity.this.finish();
}
});
}
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
// stop the animation
TextView logo1 = (TextView) findViewById(R.id.textViewTopTitle);
logo1.clearAnimation();
TextView logo2 = (TextView) findViewById(R.id.textViewBottomTitle);
logo2.clearAnimation();
// ... stop other animations
TableLayout table = (TableLayout) findViewById(R.id.tableLayout1);
for (int i = 0; i < table.getChildCount(); i++) {
TableRow row = (TableRow) table.getChildAt(i);
row.clearAnimation();
}
}
}
L'erreur est:
"
The type new Animation.AnimationListener(){} must implement the inherited abstract method Animation.AnimationListener.onAnimationStart(Animation
) ".
Le livre ne mentionne rien à ce sujet et je me demandais si quelqu'un peut vous aider.
Merci d'avance.
Moïse
Merci pour cela ... ça a marché – user1124591