我有一个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()));
}
答案 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>