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

标签 java android oop

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

最佳答案

有一个很好的例子 here在事件监听器部分。

第一个示例使用匿名类作为监听器;第二个使用 Activity 内部的方法。不需要额外的类(class)。

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()

关于java - 如何在不需要匿名类的情况下注册对象上的事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7509139/

相关文章:

java - 使用JSP有什么优点? (java服务器页面)

Android使用余弦函数淡出动画

android - FragmentStatePagerAdapter 重复 fragment

php - 在数据库中获取结果的推荐方法 [OOP-PHP & MySQLi]

java - 如何在方法java之外使用它的构造函数实例化对象

java - 在 Java 中使用 HikariCP 时如何指定数据库特定属性?

java - 无法通过java反射调用方法: NoSuchMethodException

java - 无法使 Maven 测试范围的依赖项与 Java 9(或 10)模块一起使用

android - 将列表从 Activity 发送到 fragment android

design-patterns - 使用 "State"设计模式更改状态的最佳方法是什么?