繁体   English   中英

实现AnimationListener抽象方法

[英]Implementing AnimationListener abstract methods

我在24小时内使用Sam的自学Android应用程序开发来学习Android Dev,并且遇到了下面的代码。 我对Java还是比较陌生,但是我很了解基本知识,但我不明白如何在内部将onAnimationEnd()作为参数实现? 有人可以解释这是怎么回事,以及setAnimationListener方法的有效参数(语法)如何?

fade2.setAnimationListener(new AnimationListener() {
    public void onAnimationEnd(Animation animation) {
    // The animation has ended, transition to the Main Menu screen
        startActivity(new Intent(QuizSplashActivity.this, QuizMenuActivity.class));
        QuizSplashActivity.this.finish();
    }

    public void onAnimationRepeat(Animation animation) {
    }

    public void onAnimationStart(Animation animation) {
       }
});

这被称为匿名内部类,并且是Java最有用的功能之一,特别是对于侦听器而言。 (链接的文章提供了更多代码示例。)

基本上,这是用于创建实现AnimationListener接口的新类的简写语法。 该类没有名称,这就是为什么它被称为“匿名”类的原因。 您可以在方法调用内定义接口内联的所有三个方法。 在匿名内部类内部,您可以从包含的类和方法中访问字段,方法和局部变量。

您可能还想通读有关Android和Java的讨论-Runnable的使用

这不是参数。 从新手的角度来看,它看起来像一个,但是它是一个接口,必须实现的方法是onAnimationEnd 如果查看onClickListener则是相同的原理。 您需要立即实现onClick方法。 被调用的方法也称为匿名方法。 这是一种没有名称的方法。 您还将在Java的很多地方看到这些方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM