Simon Ics日期选择器对话框抛出android.view.InflateException:二进制XML文件行#20:对类net.simonvt.widget.DatePicker进行膨胀时出错
我在android应用程序中使用Simon的ICS日期选择器库()。 我有一个日期按钮,若我点击那个按钮,它会在对话框中显示ics日期选择器。 我的问题是,若我点击按钮,它不会显示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
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>
-->