我正在创建一个 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/