Articles of android datepicker

Android将DatePicker设置为特定日期

我有3个包含日,月和年值的字符串。 例如: String mday = “02”; String mmonth=”07″; String myear=”2013″; 我需要将活动中的DatePicker设置为从上面的日期开始的一个月。 我并不只是在mmonth值中加1 …在第31天的情况下,我最终会得到一个无效的日期。 所以我需要一些方法来增加日期(有效的方式)并设置DatePicker的值。 我知道使用Int值设置datePicker是这样的: DatePicker datepicker = (DatePicker) findViewById(R.id.datePicker1); datepicker.init(iYear, iMonth, iDay, null); // where iYear,iMonth and iDay are integers 但是如何获得递增DATE的日,月和年的整数值一个月? 那么在第一个值(字符串)和递增日期的最终值(整数)之间我必须做出哪些步骤? 我想我必须使用日历。 所以我的代码应该是这样的: Integer iYear, iMonth, iDay = 0; String mday = “02”; String mmonth=”07″; String myear=”2013″; Calendar cal = Calendar.getInstance(); cal.set(Integer.parseInt(myear), Integer.parseInt(mmonth), […]

Datepicker给出的时间不在exception之间

我正在使用一个日期选择器,并希望将最小日期设置为今天,并将最大日期设置为今天提前一年。 我这样做: datePickerDialog.getDatePicker().setMinDate(System.currentTimeMillis() – 1000); cal.add(Calendar.YEAR, 1); datePickerDialog.getDatePicker().setMaxDate(cal.getTimeInMillis()); 当我不这样做 – 1000然后我得到另一个例外: java.lang.IllegalArgumentException: fromDate: Sat Apr 11 23:59:59 CEST 2015 does not precede toDate: Sat Apr 11 08:24:19 CEST 2015 那是因为日期可能不等于今天。 所以我提取1000毫秒。 我不知道如何解决新的exception。 我试着在maxDate上计算+ 1000毫秒但是没有解决它。 编辑: 我像这样创建我的cal: cal = Calendar.getInstance(); datePickerDialog = new DatePickerDialog(getActivity(), this, cal.get(Calendar.YEAR), cal.get(Calendar.MONTH), cal.get(Calendar.DATE));

如何点击android中的按钮获取下一个日期?

在我的应用程序中,我有一个文本视图来设置当前日期和两个按钮的下一个日期和上一个日期。 当点击下一个按钮时,我需要将下一个日期设置为文本视图而不打开日期选择器,也类似于上一个按钮。 请任何人帮助我。

datepicker的风格与活动不同

我有自定义样式的活动,我希望我的活动有一个自定义标题栏,所以我创建了以下样式: @color/titlebar_background @dimen/titlebar_size @style/costum_titlebar 在清单中我使用: 在我使用的活动中: requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); this.getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.setting_activity_titlebar); 到目前为止它很好并且工作正常,我有自定义标题栏的活动。 现在我想使用datePickerDialog。 问题是对话框看起来很旧: 但我希望它看起来像这样: 我也有这种风格: 所以我用它来创建这样的DatePickerDialog: new DatePickerDialog(getActivity(),R.style.AppBaseTheme, this, year, month, day); 但主题不适用。 只是为了测试,我创建了一个默认样式的第二个应用程序,只有一个按钮来打开日期选择器,所以datepicker看起来像我想要的。 这两款应用都有android:minSdkVersion=”8″ 我认为问题出在自定义标题栏上,那么我如何才能获得所需风格的自定义标题栏和日期选择器呢? 编辑: 我更改了android:minSdkVersion=”11″ 同 和 new DatePickerDialog(getActivity(),R.style.datePickerTheme, this, year, month, day); 但结果仍然是一样的。

如何在android中设置日期选择器的最小和最大限制?

我正在开发一个应用程序,我正在使用自定义日期和时间选择器。 我已经创建了一个对话框,里面我现在分别显示日期和时间选择器,我想设置日期选择器的最小和最大限制。 例如,一个人不应该从今天开始选择前一个日期,也不能超过一个月。 这是我的代码 AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); final DatePicker picker = new DatePicker(getActivity()); try { Field f[] = picker.getClass().getDeclaredFields(); for (Field field : f) { if (field.getName().equals(“mYearPicker”) || field.getName().equals(“mYearSpinner”)) { field.setAccessible(true); Object yearPicker = new Object(); yearPicker = field.get(picker); ((View) yearPicker).setVisibility(View.GONE); } } } catch (Exception ex) { ex.printStackTrace(); } picker.setCalendarViewShown(false); picker.setMinDate(new Date().getTime()); […]

如何防止在DatePickerDialog中选择传递日期(setMinDate无法按预期工作)

我发现DatePicker(Dialog)非常令人困惑…当setMinDate()被设置时…显示的日历真的“视觉上禁用”传递日期(使它们变灰)但这些日期仍然可供选择! 我想用户阻止这样做。 理想的方法是使传递日期不可点击/不可选。 如果不可能,至少要抓住这个事件(哪一个?onDateChanged?,onSelected?…)并保留一条消息并禁用OK按钮,直到用户选择一个有效的日期。 不幸的是,datepicker(对话框)没有onChangedListener(实际上它有但没有setter)。 所以我得到的唯一事件是按下OK按钮。 为时已晚。 这是我的代码 dateTextView = (TextView) view.findViewById(R.id.createOrder_date); dateTextView.setText(R.string.createOrder_time_now); dateTextView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { final Calendar calendarNow = Calendar.getInstance(); final int yearNow = calendarNow.get(Calendar.YEAR); final int monthNow = calendarNow.get(Calendar.MONTH); final int dayNow = calendarNow.get(Calendar.DAY_OF_MONTH); DatePickerDialog datePickerDialog = new DatePickerDialog(CreateOrderFragment.this.getActivity(), new DatePickerDialog.OnDateSetListener() { @Override public void onDateSet(DatePicker view, […]

如何在Android日期选择器对话框中禁用某些日期?

我使用默认的Android DatePickerDialog ,其中包含android.widget.DatePicker 。 有人知道如何禁用或使某些日期无法选择吗? 我知道DatePicker允许setMinDate()和setMaxDate()但它不允许在中间禁用特定日期。 例如,在这张照片上想要禁用日期18,26等:

无法使我的DatePickerDialog以编程方式使用微调器样式

我正在使用DialogFragment打开DatePickerDialog public class DatePickerFragment extends DialogFragment{ @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 DatePickerDialog DatePickerDialog = new […]

Android DatePickerDialog:设置选择的最小和最大日期

我知道这有很多问题,但没有一个解决方案适合我,所以这个问题。 我想限制用户在今天之前选择日期,但我无法这样做。 public class DatePickerDialogFragment extends DialogFragment { private OnDateSetListener listener; public void setListener(OnDateSetListener listener) { this.listener = listener; } @NonNull @Override public Dialog onCreateDialog(Bundle savedInstanceState) { Calendar calendar = Calendar.getInstance(); int year = calendar.get(Calendar.YEAR); int month = calendar.get(Calendar.MONTH); int day = calendar.get(Calendar.DAY_OF_MONTH); DatePickerDialog dialog = new DatePickerDialog(getContext(), listener, year, month, day); dialog.getDatePicker().setMinDate(calendar.getTimeInMillis()); return dialog; […]

如何在datepicker中更改文本大小?

datepicker中的默认文本大小对我的应用来说太大了。 我已经看到了一种建议在这里改变它的方法,但是为了嵌套在datepicker类中的textviews而钓鱼似乎很笨拙且容易出错。 有更好/更清洁的方法吗?