【发布时间】:2014-04-17 07:51:23
【问题描述】:
我所指的代码示例是一些特定于 Android 的代码,但我感觉这个想法是 Java 中的一个基本概念。在下面的代码 sn-p 中,我对从第二行开始发生的事情感到困惑。看起来在 setOnClickListener() 方法中定义了一个全新的类。在我看来,一个方法是在另一个方法的参数中定义的,onClick() 是在 setOnClickListener() 中定义的。这整件事让我很困惑,因为我从来没有见过这样写的 Java,除了 Android。
谁能解释一下我在这里看到了什么?非常感谢任何帮助!
final Button downButton = (Button) findViewById(R.id.button1);
downButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//Play key click sound
mAudioManager.playSoundEffect(AudioMAnager.FX_KEY_CLICK);
if (mVolumne > mVolumeMin) {
mVolume -= 2;
tv.setText(String.valueOf(mVolume));
}
}
});
【问题讨论】:
-
谷歌匿名内部类。
标签: java android class methods overriding