Asu*_*R C 4 java android datepicker android-datepicker material-components-android
我在我的应用程序中使用材料日期选择器来选择日期。下面是我的代码。
MaterialDatePicker.Builder builder = MaterialDatePicker.Builder.datePicker();
builder.setSelection(Calendar.getInstance().getTimeInMillis());
builder.setTitleText(getString(R.string.selectDate));
final MaterialDatePicker materialDatePicker = builder.build();
btn_pickDate(new View.OnClickListener() {
@Override
public void onClick(View v) {
materialDatePicker.show(getSupportFragmentManager(),"DATE_PICKER");
}
});
materialDatePicker.addOnPositiveButtonClickListener(new MaterialPickerOnPositiveButtonClickListener() {
@Override
public void onPositiveButtonClick(Object selection) {
startDate.setText(materialDatePicker.getHeaderText());
}
});
Run Code Online (Sandbox Code Playgroud)
当我选择日期时,该日期在设备一中以dd MMM yyyy 形式返回,在设备二中以MMM dd, yyyy 形式返回。
我需要在所有设备上以相同的格式返回日期(例如:dd MMM yyyy)。如何在物料日期选择器中实现此目的。
侦听addOnPositiveButtonClickListener器以 Long 值返回选定的日期。这样你就有了一个长值而不是一个字符串。
您可以使用:
MaterialDatePicker<Long> materialDatePicker = builder.build();
materialDatePicker.addOnPositiveButtonClickListener(new MaterialPickerOnPositiveButtonClickListener<Long>() {
@Override
public void onPositiveButtonClick(Long selection) {
//....
Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
calendar.setTimeInMillis(selection);
SimpleDateFormat format = new SimpleDateFormat("yyyy MM dd");
String formattedDate = format.format(calendar.getTime());
}
});
Run Code Online (Sandbox Code Playgroud)
在科特林中:
materialDatePicker.addOnPositiveButtonClickListener {
val utc = Calendar.getInstance(TimeZone.getTimeZone("UTC"))
utc.timeInMillis = it
val format = SimpleDateFormat("yyyy-MM-dd")
val formatted: String = format.format(utc.time)
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8986 次 |
| 最近记录: |