Android showDatePickerDialog can';加载日期选择器对话框
我用这个方法加载对话框Android showDatePickerDialog can';加载日期选择器对话框,android,Android,我用这个方法加载对话框showDatePickerDialog(this.getCurrentFocus())。那以前很好。但是当我把setOnClickListener放进显示对话框的按钮点击时,出现了编译器错误。错误是类型new View.OnClickListener(){}的getCurrentFocus()方法未定义。我的代码如下 frombutton.setOnClickListener(new OnClickListener() { public void
showDatePickerDialog(this.getCurrentFocus())代码>。那以前很好。但是当我把setOnClickListener
放进显示对话框的按钮点击时,出现了编译器错误。错误是类型new View.OnClickListener(){}
的getCurrentFocus()方法未定义。我的代码如下
frombutton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
showDatePickerDialog(this.getCurrentFocus());
}
});
问题是,new OnClickListener()
创建了一个内部类,它不像外部类那样属于Activity
因此,此
引用的是OnClickListener
,而不是您的活动。侦听器类中不存在getCurrentFocus()
-方法,因此无法找到该方法
解决这个问题的方法是明确地说,您希望从环绕(外部)类中获得this
。您可以通过在之前添加外部类名称来执行此操作:
showDatePickerDialog(YOURACTIVITYCLASSNAMEHERE.this.getCurrentFocus());