我想显示datepicker弹出窗口.我找到了一些例子,但我没有得到正确的答案.我有一个edittext,我希望当我点击edittext时,应该弹出datepicker对话框,设置日期后,日期应该以dd/mm/yyyy格式显示在edittext中.PLease为我提供示例代码或良好的链接.
--- 主持人注意:今天(7月15日),我注意到有人在这里遇到过这个问题.但是我不确定将这个作为副本关闭是否合适,因为我认为我提供了一个更好的解释.我不确定是否应该编辑其他问题并将其粘贴到那里,但我不太愿意过多地改变别人的问题.---
我有一些奇怪的东西.
我不认为问题取决于您构建的SDK.设备操作系统版本是重要的.
DatePickerDialog在Jelly Bean中被更改了(?),现在只提供了一个Done按钮.以前的版本包括一个取消按钮,这可能会影响用户体验(不一致,以前Android版本的肌肉记忆).
复制:创建一个基本项目.把它放进去onCreate:
DatePickerDialog picker = new DatePickerDialog(
this,
new OnDateSetListener() {
@Override
public void onDateSet(DatePicker v, int y, int m, int d) {
Log.d("Picker", "Set!");
}
},
2012, 6, 15);
picker.show();
Run Code Online (Sandbox Code Playgroud)
预期:在对话框中显示"取消"按钮.
当前:一个取消按钮不会出现.
Dialog会调用它应该调用的侦听器,然后始终调用OnDateSetListener侦听器.取消仍然调用set方法,并设置它调用方法两次.
复制:使用#1代码,但在下面添加代码(您将看到这解决了#1,但只能在视觉上/ UI):
picker.setButton(DialogInterface.BUTTON_NEGATIVE, "Cancel",
new DialogInterface.OnClickListener() {
@Override
public …Run Code Online (Sandbox Code Playgroud) android datepicker android-datepicker android-4.2-jelly-bean
在我的应用程序中使用日期选择器来设置date.i想要根据系统日期设置日期选择器最大日期为今天日期.我不知道如何将日期选择器最大日期设置为今天日期.任何人都知道帮助我解决这个问题.
我的日期选择器编码是:
private int pYear;
private int pMonth;
private int pDay;
static final int DATE_DIALOG_ID = 0;
final Calendar c = Calendar.getInstance();
pYear = c.get(Calendar.YEAR);
pMonth = c.get(Calendar.MONTH);
pDay = c.get(Calendar.DAY_OF_MONTH);
// Date picker
public Dialog onCreateDialog(int id) {
switch (id) {
case DATE_DIALOG_ID:
DatePickerDialog.OnDateSetListener pDateSetListener = new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int year,
int monthOfYear, int dayOfMonth) {
pYear = year;
pMonth = monthOfYear;
pDay = dayOfMonth;
e_dob.setText(new StringBuilder()
// to set date in editext
.append(pDay).append("/").append(pMonth + …Run Code Online (Sandbox Code Playgroud) Android中有一个名为DatePicker.OnDateChangedListener的事件监听器.我试图在日期更改的侦听器上设置DatePicker视图,如下所示:
DatePicker dp = new DatePicker(getContext());
dp.setOnDateChangedListener(this);
//where this is my activity extends DatePicker.OnDateChangedListener
Run Code Online (Sandbox Code Playgroud)
但猜猜怎么了?日期选择器没有名为setOnDateChangedListener的方法.
我的问题是:
任何文档/教程都会非常有用.
我想将用户可以在DatePicker中选择的最小日期设置为当前日期.我试过这个:
DatePicker datePicker = (DatePicker) findViewById(R.id.event_date);
datePicker.setMinDate(System.currentTimeMillis());
Run Code Online (Sandbox Code Playgroud)
这给了我以下例外:
12-01 12:23:31.226: E/AndroidRuntime(10311): Caused by: java.lang.IllegalArgumentException: fromDate: Sat Dec 01 12:23:31 EST 2012 does not precede toDate: Sat Dec 01 12:23:31 EST 2012
Run Code Online (Sandbox Code Playgroud)
我该怎么做呢?
如何在Android日期选择器中禁用未来日期
Java代码:
mExpireDate.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// To show current date in the datepicker
final Calendar mcurrentDate = Calendar.getInstance();
int mYear = mcurrentDate.get(Calendar.YEAR);
int mMonth = mcurrentDate.get(Calendar.MONTH);
int mDay = mcurrentDate.get(Calendar.DAY_OF_MONTH);
DatePickerDialog mDatePicker = new DatePickerDialog(
EventRegisterActivity.this, new OnDateSetListener() {
public void onDateSet(DatePicker datepicker,
int selectedyear, int selectedmonth,
int selectedday) {
mcurrentDate.set(Calendar.YEAR, selectedyear);
mcurrentDate.set(Calendar.MONTH, selectedmonth);
mcurrentDate.set(Calendar.DAY_OF_MONTH,
selectedday);
SimpleDateFormat sdf = new SimpleDateFormat(
getResources().getString(
R.string.date_card_formate),
Locale.US);
mExpireDate.setText(sdf.format(mcurrentDate
.getTime()));
}
}, mYear, mMonth, mDay);
mDatePicker.setTitle(getResources().getString(
R.string.alert_date_select));
mDatePicker.show(); …Run Code Online (Sandbox Code Playgroud) 我正在使用谷歌示例使用对话框片段在我的应用程序中插入一个日期选择器
http://developer.android.com/guide/topics/ui/controls/pickers.html
但是我不确定如何在设置之后获得日期(不是java专家).对话框和日期选择器运行正常,我可以记录该日期是否已正确设置但是,如何才能在父活动上执行回调?
这是我的Dialog片段
public class DatePickerFragment extends DialogFragment implements
DatePickerDialog.OnDateSetListener {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
// Use the current date as the default date in the picker
final Calendar c = Calendar.getInstance();
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH);
int day = c.get(Calendar.DAY_OF_MONTH);
// Create a new instance of DatePickerDialog and return it
return new DatePickerDialog(getActivity(), this, year, month, day);
}
public void onDateSet(DatePicker view, int year, int month, int day) {
**Log.w("DatePicker","Date = " + …Run Code Online (Sandbox Code Playgroud) 我希望我DatePicker的按钮在开始时不可见.当我按下我的魔法按钮时,我想设置可见性(View.Visible);
这里的问题是当我setVisibility(View.GONE)或setVisibility(View.INVISIBLE)什么都没有改变并且组件仍然可见时.
final DatePicker dp2 = (DatePicker) findViewById(R.id.datePick2);
final Button btn2 = (Button) findViewById(R.id.btnDate2);
dp2.setVisibility(View.GONE);
dp2.setVisibility(View.INVISIBLE);
btn2.setVisibility(View.GONE);
btn2.setVisibility(View.INVISIBLE);
btn2.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
TextView txt2 = (TextView) findViewById(R.id.txt2);
txt2.setText("You selected " + dp2.getDayOfMonth()
+ "/" + (dp2.getMonth() + 1) + "/" + dp2.getYear());
}
});
Run Code Online (Sandbox Code Playgroud) 我正在开发一个需要用户选择日期的应用程序(dd/mm/yyyy).我想在按钮单击时显示一个带有DatePicker的对话框.一旦选择了日期,它必须在EditText中显示.
我正在使用Android Studio 2.2,min sdk的项目是23.
请帮我做所需的代码.
我在我的申请中使用了日期选择器和时间选择器.我想设置页面加载的日期和时间.这可能吗?怎么会这样?