Simon Ics日期选择器对话框抛出android.view.InflateException:二进制XML文件行#20:对类net.simonvt.widget.DatePicker进行膨胀时出错

Simon Ics日期选择器对话框抛出android.view.InflateException:二进制XML文件行#20:对类net.simonvt.widget.DatePicker进行膨胀时出错,android,android-datepicker,android-simon-datepicker,Android,Android Datepicker,Android Simon Datepicker,我在android应用程序中使用Simon的ICS日期选择器库()。 我有一个日期按钮,若我点击那个按钮,它会在对话框中显示ics日期选择器。 我的问题是,若我点击按钮,它不会显示datepicker对话框,但会显示以下错误: 03-02 10:46:59.521: E/AndroidRuntime(911): android.view.InflateException: Binary XML file line #20: Error inflating class net.simonvt.wi

我在android应用程序中使用Simon的ICS日期选择器库()。 我有一个日期按钮,若我点击那个按钮,它会在对话框中显示ics日期选择器。 我的问题是,若我点击按钮,它不会显示datepicker对话框,但会显示以下错误:

03-02 10:46:59.521: E/AndroidRuntime(911): android.view.InflateException: Binary XML file line #20: Error inflating class net.simonvt.widget.DatePicker
03-02 10:46:59.521: E/AndroidRuntime(911):  at android.view.LayoutInflater.createView(LayoutInflater.java:606)
03-02 10:46:59.521: E/AndroidRuntime(911):  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:680)
03-02 10:46:59.521: E/AndroidRuntime(911):  at android.view.LayoutInflater.inflate(LayoutInflater.java:466)
03-02 10:46:59.521: E/AndroidRuntime(911):  at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
03-02 10:46:59.521: E/AndroidRuntime(911):  at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
03-02 10:46:59.521: E/AndroidRuntime(911):  at net.simonvt.app.DatePickerDialog.<init>(DatePickerDialog.java:103)
03-02 10:46:59.521: E/AndroidRuntime(911):  at net.simonvt.app.DatePickerDialog.<init>(DatePickerDialog.java:74)



@Override
protected Dialog onCreateDialog(int id) {
    switch (id) {
        case START_DATE_PICKER_ID:
            mCalendar.setTimeInMillis(mStartMillis);
            year = mCalendar.get(Calendar.YEAR);
            monthOfYear = mCalendar.get(Calendar.MONTH);
            dayOfMonth = mCalendar.get(Calendar.DAY_OF_MONTH);
            return new DatePickerDialog(ListPillBoxActivity.this, startPillBoxDateListener,
                    year, monthOfYear, dayOfMonth);
        case END_DATE_PICKER_ID:
            mCalendar.setTimeInMillis(mEndMillis);
            year = mCalendar.get(Calendar.YEAR);
            monthOfYear = mCalendar.get(Calendar.MONTH);
            dayOfMonth = mCalendar.get(Calendar.DAY_OF_MONTH);
            return new DatePickerDialog(ListPillBoxActivity.this, endPillBoxDateListener, year,
                    monthOfYear, dayOfMonth);
    }

    return null;
}
每个参数都正确地传递给datePickerDialog,但在膨胀对话框中存在一个问题


感谢您的帮助……

我遇到了同样的问题。解决方案是向样式中添加三项,如DatePickerSamples中所示:

<style name="SampleTheme" parent="@android:style/Theme">
    <item name="calendarViewStyle">@style/Widget.Holo.CalendarView</item>
    <item name="datePickerStyle">@style/Widget.Holo.DatePicker</item>
    <item name="numberPickerStyle">@style/NPWidget.Holo.NumberPicker</item>
</style>

@style/Widget.Holo.CalendarView
@style/Widget.Holo.DatePicker
@style/NPWidget.Holo.NumberPicker

以@ham所说的为基础

将这些行添加为xml资源后:

<style name="SampleTheme" parent="@android:style/Theme">
    <item name="calendarViewStyle">@style/Widget.Holo.CalendarView</item>
    <item name="datePickerStyle">@style/Widget.Holo.DatePicker</item>
    <item name="numberPickerStyle">@style/NPWidget.Holo.NumberPicker</item>
</style>
也不要错过:

<!-- Copy one of these attributes to your own theme (choose either dark or light).
    <item name="numberPickerStyle">@style/NPWidget.Holo.NumberPicker</item>
    <item name="numberPickerStyle">@style/NPWidget.Holo.Light.NumberPicker</item>
-->

您的回答解决了我的问题,但仍然在marshmellow上崩溃
android:theme="@style/SampleTheme"
<!-- Copy one of these attributes to your own theme (choose either dark or light).
    <item name="numberPickerStyle">@style/NPWidget.Holo.NumberPicker</item>
    <item name="numberPickerStyle">@style/NPWidget.Holo.Light.NumberPicker</item>
-->