DatePickerDialog无法按预期工作

时间:2017-03-15 05:19:33

标签: android android-6.0-marshmallow datepickerdialog

我有一个EditView我试图绑定DatePickerDialog。它与 api 19 配合得很好。但是当在 api版本25 Marshmallow上进行测试时,日历会变为白色,当选择某个日期时,EditView也不会填充,即我无法在 Marshmallow

代码:

warrantyExpEt.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                new DatePickerDialog(getContext(), date, myCalendar
                        .get(Calendar.YEAR), myCalendar.get(Calendar.MONTH),
                        myCalendar.get(Calendar.DAY_OF_MONTH)).show();
            }
        });


    final DatePickerDialog.OnDateSetListener date = new DatePickerDialog.OnDateSetListener() {

            @Override
            public void onDateSet(DatePicker view, int year, int monthOfYear,
                                  int dayOfMonth) {
                // TODO Auto-generated method stub
                myCalendar.set(Calendar.YEAR, year);
                myCalendar.set(Calendar.MONTH, monthOfYear);
                myCalendar.set(Calendar.DAY_OF_MONTH, dayOfMonth);
                updateLabel();
            }

        };
        private void updateLabel() {

            String myFormat = "yyyy-MM-dd";
            SimpleDateFormat sdf = new SimpleDateFormat(myFormat, Locale.US);

            warrantyExpEt.setText(sdf.format(myCalendar.getTime()));
        }

3 个答案:

答案 0 :(得分:1)

这可能是您在项目中使用的主题。因此,请在样式文件中使用以下主题

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
   <item name="colorPrimary">@color/green_sheet</item>
   <item name="android:textAllCaps">false</item>     
</style>

希望这会帮助你。

答案 1 :(得分:1)

从你的风格中删除它:

<item name="android:textColorPrimary">@color/white</item>

答案 2 :(得分:0)

尝试这样可以根据需要显示对话框

   new DatePickerDialog(MainActivity.this, R.style.datepicker, new DatePickerDialog.OnDateSetListener() {
        @Override
        public void onDateSet(DatePicker view, int year, int month, int day) {

            calendar.set(Calendar.YEAR, year);
            calendar.set(Calendar.MONTH, month);
            calendar.set(Calendar.DAY_OF_MONTH, day);

        }
    }, year, month, day).show();
您希望

对话框样式

  <style name="datepicker" parent="Theme.AppCompat.Light.Dialog">

    <item name="colorAccent">@color/red</item>
</style>