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