我想显示日期选择器弹出窗口。我找到了一些例子,但我没有正确理解。我有一个编辑文本,我点击编辑文本,日期选择器对话框会弹出,在设置日期后,日期应该以 dd/mm/yyyy 格式 fragment 显示在编辑文本中。请提供示例代码或好的链接。
最佳答案
解决方案:
使您的 EditText 可点击且可聚焦 false
,例如,
<EditText
android:id="@+id/etDOB"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clickable="false"
android:cursorVisible="false"
android:focusable="false"
android:hint="Select" />
然后在你的 fragment 类中,放入下面的代码,
@Override
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.layout_xxx, container, false);
EditText etDOB=view.findViewById(R.id.etDOB);
etDOB.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
openDatePickerDialog(v);
}
});
}
public void openDatePickerDialog(final View v) {
// Get Current Date
DatePickerDialog datePickerDialog = new DatePickerDialog(getActivity(),
(view, year, monthOfYear, dayOfMonth) -> {
String selectedDate = dayOfMonth + "/" + (monthOfYear + 1) + "/" + year;
switch (v.getId()) {
case R.id.etDOB:
((EditText)v).setText(selectedDate);
break;
}
}, cal.get(Calendar.YEAR), cal.get(Calendar.MONTH), cal.get(Calendar.DAY_OF_MONTH));
datePickerDialog.getDatePicker().setMaxDate(cal.getTimeInMillis());
datePickerDialog.show();
}
关于android - 单击 fragment 中的编辑文本时如何弹出日期选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53095146/