Java 如何在不需要匿名类的情况下注册对象上的事件?

Java 如何在不需要匿名类的情况下注册对象上的事件?,java,android,oop,Java,Android,Oop,我正在创建一个android应用程序。我有一个对话框,我想在不使用匿名类的情况下处理onCancel()事件,因为它更干净,并且我需要从主活动类访问一些类变量。我正在寻找一种在类似.NET的对象上注册事件的方法,我可以在类中用单独的方法处理它,而不需要匿名类。事件侦听器部分有一个很好的示例 第一个示例使用匿名类作为侦听器;第二种方法使用活动内部的方法。不需要额外的课程 TL;DR这是从该页面窃取的代码: public class ExampleActivity extends Activity

我正在创建一个android应用程序。我有一个对话框,我想在不使用匿名类的情况下处理onCancel()事件,因为它更干净,并且我需要从主活动类访问一些类变量。我正在寻找一种在类似.NET的对象上注册事件的方法,我可以在类中用单独的方法处理它,而不需要匿名类。

事件侦听器部分有一个很好的示例

第一个示例使用匿名类作为侦听器;第二种方法使用活动内部的方法。不需要额外的课程

TL;DR这是从该页面窃取的代码:

public class ExampleActivity extends Activity implements OnClickListener {
    protected void onCreate(Bundle savedValues) {
        ...
        Button button = (Button)findViewById(R.id.corky);
        button.setOnClickListener(this);
    }

    // Implement the OnClickListener callback
    public void onClick(View v) {
      // do something when the button is clicked
    }
    ...
}
您可以将其修改为使用
onCancel()

事件侦听器部分中有一个很好的示例

第一个示例使用匿名类作为侦听器;第二种方法使用活动内部的方法。不需要额外的课程

TL;DR这是从该页面窃取的代码:

public class ExampleActivity extends Activity implements OnClickListener {
    protected void onCreate(Bundle savedValues) {
        ...
        Button button = (Button)findViewById(R.id.corky);
        button.setOnClickListener(this);
    }

    // Implement the OnClickListener callback
    public void onClick(View v) {
      // do something when the button is clicked
    }
    ...
}

您可以将其修改为使用
onCancel()

谢谢!我刚刚意识到我忘了实现OnClickListener。Java新手=)谢谢!我刚刚意识到我忘了实现OnClickListener。Java新特性=)