【发布时间】:2018-09-05 10:00:02
【问题描述】:
我有一个 datepicker 对话框,点击 edittext 打开。我想要的是当我点击edittext时,日期选择器对话框应该显示edittext中已经存在的日期。
我的代码: Xml 代码:
<EditText
android:id="@+id/dob"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:inputType="date"
android:hint="Date Of Birth"
android:textSize="12sp"
android:drawableRight="@drawable/ic_perm_contact_calendar_black_24dp"
android:drawableTint="@android:color/holo_orange_light"/>
Java 代码:
dob.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final Calendar myCalendar = Calendar.getInstance();
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);
String myFormat = "dd-MMM-yyyy"; // your format
SimpleDateFormat sdf = new SimpleDateFormat(myFormat, Locale.getDefault());
dob.setText(sdf.format(myCalendar.getTime()));
}
};
new DatePickerDialog(PersonalDetailsFormActivity.this, date, myCalendar.get(Calendar.YEAR), myCalendar.get(Calendar.MONTH), myCalendar.get(Calendar.DAY_OF_MONTH)).show();
}
});
我已经浏览了许多在线链接,但都显示了如何在编辑文本中设置日期,但我想要的是与此相反的。 edittext 中有一个值,并且日期选择器对话框应该以该日期作为预选值打开。
【问题讨论】:
-
你现在遇到什么样的问题?
-
@sasikumar :看我有一个编辑文本,其中填充了日期值。当我单击该edittext时,我想将已存储在edittext中的值显示到datepicker中。
-
@jeevikadhillon 请查看我的更新答案。
-
顺便考虑扔掉长期过时且臭名昭著的麻烦
SimpleDateFormat和朋友,并将ThreeTenABP添加到您的Android项目中,以便使用java.time,现代Java日期和时间API .使用起来感觉好多了。
标签: android android-edittext android-datepicker