Java Can';t在我的代码中访问DatePicker.ValidationCallback
我有一个简单的DatePickerFragment,它扩展了DialogFragment。我想设置一个验证回调,以便在选择无效日期时防止选择“OK”。我首先尝试了setMaxDate,它使无效的选项变灰,但仍然允许选择它们并按下OK。所以我希望设置验证回调将是解决方案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 {
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