Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/207.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Can';t在我的代码中访问DatePicker.ValidationCallback_Java_Android_Datepicker_Android Widget - Fatal编程技术网

Java Can';t在我的代码中访问DatePicker.ValidationCallback

Java Can';t在我的代码中访问DatePicker.ValidationCallback,java,android,datepicker,android-widget,Java,Android,Datepicker,Android Widget,我有一个简单的DatePickerFragment,它扩展了DialogFragment。我想设置一个验证回调,以便在选择无效日期时防止选择“OK”。我首先尝试了setMaxDate,它使无效的选项变灰,但仍然允许选择它们并按下OK。所以我希望设置验证回调将是解决方案 abstract public class DatePickerFragment extends DialogFragment implements DatePickerDialog.OnDateSetListener {

我有一个简单的DatePickerFragment,它扩展了DialogFragment。我想设置一个验证回调,以便在选择无效日期时防止选择“OK”。我首先尝试了setMaxDate,它使无效的选项变灰,但仍然允许选择它们并按下OK。所以我希望设置验证回调将是解决方案

abstract public class DatePickerFragment extends DialogFragment implements DatePickerDialog.OnDateSetListener {

    public DatePickerDialog datePickerDialog;

  //  public DatePickerFragment() {
  //
  //  }

    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        final Calendar c = Calendar.getInstance();
        int year = c.get(Calendar.YEAR);
        int month = c.get(Calendar.MONTH);
        int day = c.get(Calendar.DAY_OF_MONTH);

        datePickerDialog = new DatePickerDialog(getActivity(), this, year, month, day);
        DatePicker datePicker = datePickerDialog.getDatePicker();
        datePicker.setMaxDate(c.getTimeInMillis());

        // this won't resolve!
        datePicker.setValidationCallback( xxx );

        return datePickerDialog;
    }

}
我无法理解为什么我不能访问或引用android.widget.DatePicker.ValidationCallback或代码中的任何相关位。如果我点击CTRL+B查看DatePickerDialog,我可以看到它导入并引用这些字段。一切似乎都是公开的。但我甚至无法解决导入问题。有什么不对劲吗?这是最新Android Studio的全新安装,我的gradle文件如下所示:

dependencies {
    // Include local libraries
    compile fileTree(dir: 'libs', include: ['*.jar'])
    // Android support libraries
    compile 'com.android.support:support-v4:22.1.1'
    compile 'com.android.support:support-v13:22.1.1'
    compile 'com.android.support:appcompat-v7:22.1.1'
    compile 'com.android.support:recyclerview-v7:22.1.1'
    compile 'com.android.support:cardview-v7:22.1.1'
}
Android Studio带我去的DatePickerDialog.java的路径是E:\src\Android\sdk\sources\Android-22\Android\app\DatePickerDialog.java。再加上gradle的设置,我相信我看到的所有东西都应该是API 22。。。我在这里完全不知所措。有什么想法吗


谢谢

这是在API版本21左右引入的。如果MinSDK较低,则无法看到该功能


然而,我只是通过从头创建一个示例项目来测试这个方法,将min/max SDK设置为22,但我仍然无法看到该方法。这可能是Android Studio中的一个bug。

是在API版本21左右引入的。如果MinSDK较低,则无法看到该功能


然而,我只是通过从头创建一个示例项目来测试这个方法,将min/max SDK设置为22,但我仍然无法看到该方法。这可能是Android Studio中的一个bug。

是在API版本21左右引入的。如果MinSDK较低,则无法看到该功能


然而,我只是通过从头创建一个示例项目来测试这个方法,将min/max SDK设置为22,但我仍然无法看到该方法。这可能是Android Studio中的一个bug。

是在API版本21左右引入的。如果MinSDK较低,则无法看到该功能

然而,我只是通过从头创建一个示例项目来测试这个方法,将min/max SDK设置为22,但我仍然无法看到该方法。这可能是Android Studio中的一个bug