在Android程序中, 我们经常需要在一个Activity中注册一个按钮的listener, 常见的方式都是如下, 自己定义一个OnClickListener的匿名子类, 并且重载onClick()方法.
mConfirmation.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//something here
AlertDialog.Builder builder=new AlertDialog.Builder(CreateProfileActivity.this);
}
}
});
假设像上面的例子,我们完成一些任务之后 需要一个对话框和用户交互, 比如问用户"是否确定删除该信息?", 此时我们在创建AlertDialog.Builer实例时需要传递进去context的实例, 通常如果在activity中我们会直接写this. 但是此处却只能通过
CreateProfileActivity.this这种方式来得到reference, 我对这个也表示很疑惑, 万一有多个CreateProfileActivity的实例, 那么this指向哪个. 但是事实是这可能是Java中约定俗成的写法. Just accept
it.

本文介绍了在Android应用程序中如何为按钮注册监听器,并展示了如何在点击按钮后弹出一个确认对话框来与用户交互。特别讨论了在匿名内部类中正确引用上下文的方法。

147

被折叠的 条评论
为什么被折叠?



