从关联的EditText启动datepicker [英] Start datepicker from assined EditText
本文介绍了从关联的EditText启动datepicker的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有带日期的按钮
当我单击它时,会显示日期选择器对话框,但从当前日期开始
when I click it, datepicker dialog shows up but start with current date
如何使用在Button中设置的日期启动日期选择器对话框
how I start datepicker dialog with the date that I've set in my Button
这是我的代码
date_btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Dialog.Builder builder = null;
Calendar c = Calendar.getInstance();
int year = c.get(Calendar.YEAR) + 10;
c.set(year, c.get(Calendar.MONTH), c.get(Calendar.DATE));
builder = new com.rey.material.app.DatePickerDialog.Builder(R.style.CustomStyle_DatePicker) {
@Override
public void onPositiveActionClicked(DialogFragment fragment) {
com.rey.material.app.DatePickerDialog dialog = (com.rey.material.app.DatePickerDialog) fragment.getDialog();
String date = dialog.getFormattedDate(SimpleDateFormat.getDateInstance());
date_btn.setText(date);
selectedDate.set(dialog.getYear(), dialog.getMonth(), dialog.getDay());
super.onPositiveActionClicked(fragment);
}
@Override
public void onNegativeActionClicked(DialogFragment fragment) {
super.onNegativeActionClicked(fragment);
}
}.dateRange(System.currentTimeMillis() - 1000, c.getTimeInMillis()).date(selectedDate.get(Calendar.DATE),
selectedDate.get(Calendar.MONTH)
, selectedDate.get(Calendar.YEAR));
builder.positiveAction("OK")
.negativeAction("CANCEL");
DialogFragment fragment = DialogFragment.newInstance(builder);
fragment.show(getSupportFragmentManager(), null);
}
});
我已经公开宣布了这一点
I've declare this in public
Calendar selectedDate = Calendar.getInstance();
推荐答案
在意图中,而不是在字符串中添加Calender对象本身,如下所示.
In intent instead of string add the Calender object itself like below..
intent.putExtra("ambiltgl", selectedDate);
在其他活动中获得额外的奖励:
in other activity get the extra :
Intent extras = getIntent();
Calendar selectedDateFromPrevActivity= (Calendar) extras.getExtras().get("ambiltgl");
并且像之前一样将其设置为datepicker.
And as like earlier set it to datepicker..
.date(selectedDateFromPrevActivity.get(Calendar.DATE),
selectedDateFromPrevActivity.get(Calendar.MONTH)
, selectedDateFromPrevActivity.get(Calendar.YEAR));
这篇关于从关联的EditText启动datepicker的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文