datePicker.setMinDate(System.currentTimeMillis()) 给出错误

datePicker.setMinDate(System.currentTimeMillis()) gives error

当我尝试为 DatePicker 视图设置最短日期时,出现以下错误:

Call requires API level 11 (current min is 8): android.widget.DatePicker#setMinDate

我的java是:

datePicker = (DatePicker) findViewById(R.id.date_picker_id);
datePicker.setMinDate(System.currentTimeMillis() - 259200000);

我的XML:

<DatePicker
    android:id="@+id/date_picker_id"
    android:layout_width="fill_parent"
    android:layout_height="200dp"
    android:layout_below="@id/header_id" 

    />

我该如何解决这个错误?

DataPicker.setMinDate() 方法仅在 android API 级别 11 中添加(Android 2.3.4 我猜)...但是在您的 AndroidManifest.xml 你设置了 minSDKVersion=8 (Android 2.2)...

所以很明显,当某些设备 运行 版本 2.2 执行您的代码时,它不会知道 setMinDate() 方法...因此出现错误...

修复:

  1. minSDKVersion 设置为 11。但是 android OS 低于 2.3.4 的用户将无法安装您的应用程序。
  2. 删除该方法并仅使用 API 级别 8 中可用的那些方法。