标签: android-datepicker

将android datepicker中的日期初始化为特定日期,即不是当前日期.

在我的应用程序中,我有一个保存在远程数据库中的日期,我希望将日期选择器设置为.我已经研究过,只发现了通过Calender java util设置datepicker今天日期的例子.例:

final Calendar c = Calendar.getInstance();
        year = c.get(Calendar.YEAR);
        month = c.get(Calendar.MONTH);
        day = c.get(Calendar.DAY_OF_MONTH);
Run Code Online (Sandbox Code Playgroud)

如何使用日历从数据库显示我的日期而不是今天的日期?你有任何我可以遵循的建议或例子吗?

更新:尝试使用Calendar后,我尝试使用

     // set Date
            String eventYear =date.substring(0,4);
            String eventDay =date.substring(5,7);
            String eventMonth =date.substring(8,10);
        //convert string to int for because calendar only takes int: set(int,int)
        int month = Integer.parseInt(eventMonth);
  final Calendar c = Calendar.getInstance();
     mMonth=c.get(c.set(Calendar.MONTH, Calendar.month));
// or   mMonth=c.get(Calendar.MONTH, Calendar.month);
Run Code Online (Sandbox Code Playgroud)

生成错误,表示无法将int转换为void.

如何使用日历将其设置为特定日期?根据谷歌的开发者网站,我应该能够做到这一点. http://developer.android.com/reference/java/util/Calendar.html

例:

set(Calendar.MONTH, Calendar.SEPTEMBER)
Run Code Online (Sandbox Code Playgroud)

我希望将来自服务器的datepicker中显示的日期作为默认值.

android calendar initialization date android-datepicker

9
推荐指数
1
解决办法
3万
查看次数

DatePickerDialog显示两个边框

我有一个关于DatePickerDialog显示的问题.

我想用"HoloDialog"主题创建日期选择器对话框,如下所示:

DatePickerDialog dpd = new DatePickerDialog(this, android.R.style.Theme_Holo_Dialog, reservationDate, 2014, 1, 1);
Run Code Online (Sandbox Code Playgroud)

然后我会看到这个结果: 带有Holo_Dealog的DatePickerDialog

如您所见,对话框显示为"两个边框".

我想创建与此处显示的相同的对话框,但是有一个边框.可能吗?

android android-datepicker datepickerdialog

9
推荐指数
1
解决办法
1618
查看次数

将默认区域设置为 DatePicker 和 TimePicker

我在自定义中使用 aDatePicker和 a 。该功能运行良好,但是当我更改应用程序的默认值以匹配阿拉伯语时遇到问题。TimePickerDialogLocale

问题是DatePickerTimePicker并未在所有 Android 版本上本地化。它适用于 Android 4.2.2 及更高版本。但它不适用于 Android 4.1.2 及更低版本。

我想的要么改变定位DatePickerTimePicker英语的时候,或者当将其更改为阿拉伯语Locale阿拉伯语语言相匹配。

这是 Android 4.2.2 及更高版本中的对话框(与本地化匹配的正确对话框)

Android 4.2.2 及更高版本

这是 Android 4.1.2 及更低版本中的对话框

Android 4.1.2 及更低版本

android localization arabic android-datepicker android-timepicker

9
推荐指数
1
解决办法
1万
查看次数

将 DatePickerDialog 按钮更改为文本

嗨,我想调整我的DatePickerDialog, 而不是底部的按钮(显示在下图中),我只想制作蓝色文本。

这是我如何创建 DatePickerDialog

private val birthdayDate by lazy {
    Calendar.getInstance()
}
private val datePicker by lazy {
    DatePickerDialog(
        context,
        R.style.MyDatePickerDialogTheme,
        this,
        birthdayDate.get(Calendar.YEAR),
        birthdayDate.get(Calendar.MONTH),
        birthdayDate.get(Calendar.DAY_OF_MONTH)
    ).also {
        it.datePicker.maxDate = Calendar.getInstance().timeInMillis
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我只是调用 show 方法来显示对话框。我认为问题出在我的某个地方style,但我找不到在哪里。任何帮助将不胜感激。

<style name="MyDatePickerDialogTheme" parent="Theme.AppCompat.Light.Dialog">
    <item name="colorAccent">@color/colorPrimary</item>
</style>
Run Code Online (Sandbox Code Playgroud)

android android-datepicker kotlin

9
推荐指数
2
解决办法
4206
查看次数

MaterialDatePicker 获取选定的日期

我在 Android 中像这样调用 MaterialDatePicker:

MaterialDatePicker.Builder<Pair<Long, Long>> builder = MaterialDatePicker.Builder.dateRangePicker();

CalendarConstraints.Builder constraintsBuilder = new CalendarConstraints.Builder();
builder.setCalendarConstraints(constraintsBuilder.build());

int dialogTheme = resolveOrThrow(getContext(), R.attr.materialCalendarTheme);
builder.setTheme(dialogTheme);

MaterialDatePicker<?> picker = builder.build();

picker.show(getFragmentManager(), picker.toString());
Run Code Online (Sandbox Code Playgroud)

图书馆是:

dependencies {
    implementation 'com.google.android.material:material:1.2.0-alpha01'
}
Run Code Online (Sandbox Code Playgroud)

如何获取此日历的选定日期?我找不到任何听众喜欢onDateSetOnDateSetListener

android android-datepicker material-components material-components-android

9
推荐指数
3
解决办法
8948
查看次数

如何从我的DatePickerFragment传输格式化的日期字符串?

遵循官方文档http://developer.android.com/guide/topics/ui/controls/pickers.html#DatePicker.

我使用了相同的代码,并在onDateSet方法中只添加了结果格式:

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);
    }

    @Override
    public void onDateSet(DatePicker view, int year, int month, int day) {
        Calendar …
Run Code Online (Sandbox Code Playgroud)

android android-datepicker

8
推荐指数
1
解决办法
7135
查看次数

无法使我的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 DatePickerDialog(getActivity(), (ProfileCreationActivity)getActivity(), year, month, day);
    return DatePickerDialog;
}
Run Code Online (Sandbox Code Playgroud)

我正在看日历外观,我更喜欢旋转外观.

我试过了:

datePickerDialog.getDatePicker().setCalendarViewShown(false);
Run Code Online (Sandbox Code Playgroud)

datePickerDialog.getDatePicker().setLayoutMode(1);
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

请注意,我希望微调器查找一个活动,但我希望其他活动的日历视图.所以我无法改变整个应用程序的风格.我需要一个活动的自定义样式.

android datepicker android-datepicker datepickerdialog

8
推荐指数
2
解决办法
1万
查看次数

在 Android DatePicker 自定义对话框中限制范围

我有有一个自定义的线性布局DatePicker,并TimePicker在它的小部件。这用作DateTime选择器。我想通过setMaxDate()和来限制 DatePicker setMinDate()。我已经做好了:

dp.setMaxDate(new DateTime().minusDays(1).getMillis());
dp.setMinDate(new DateTime().minusDays(30).getMillis());
Run Code Online (Sandbox Code Playgroud)

当对话框出现时,超出此范围的日期实际上是灰色的。但我仍然可以选择一个灰色的日期。我偶然发现了这一点。但是,带有日期选择器的自定义布局的解决方法是什么?

android datepicker android-datepicker material-components material-components-android

8
推荐指数
3
解决办法
6281
查看次数

MaterialDatePicker 显示当前日期而不是需要

使用MaterialDatePicker我想显示所需的日期并有机会选择另一个。但是当 DatePicker 出现时,它会显示当前日期而不是指定日期。

我插入库:(implementation 'com.google.android.material:material:1.2.0-alpha06'或 1.1.0)。

然后覆盖AppThemestyles.xml

<style name="AppTheme" parent="Theme.MaterialComponents.Light">
Run Code Online (Sandbox Code Playgroud)

现在可以显示 DatePicker。

val now = Calendar.getInstance()
now[Calendar.YEAR] = 2020
now[Calendar.MONTH] = 10
now[Calendar.DAY_OF_MONTH] = 1
val builder = MaterialDatePicker.Builder.datePicker()
builder.setSelection(now.timeInMillis)

val picker = builder.build()
fragmentManager?.let { picker.show(it, MaterialDatePicker::class.java.simpleName) }
Run Code Online (Sandbox Code Playgroud)

这是一个结果。我想显示 11 月 1 日,但显示的是 5 月 7 日。

在此处输入图片说明

更新 1

如上面的链接所写,我们可以使用CalendarConstraints.Builder

...
val constraintsBuilder = CalendarConstraints.Builder()
constraintsBuilder.setStart(now.timeInMillis)
constraintsBuilder.setEnd(now.timeInMillis)

val builder = MaterialDatePicker.Builder.datePicker()
builder.setCalendarConstraints(constraintsBuilder.build())
builder.setSelection(now.timeInMillis)
...
Run Code Online (Sandbox Code Playgroud)

这将显示所需的日期,我们可以选择另一天,但我们不能滚动月份。

在此处输入图片说明

更新 2

我想这是一个新的 Android …

android android-datepicker material-components material-components-android

8
推荐指数
1
解决办法
1883
查看次数

为materialDatePicker 设置 180 天的日历约束

我使用MaterialDatePicker的是 Android (Kotlin),需要确保开始日期和结束日期相距不超过 180 天。我该如何编写这个约束?

android android-datepicker kotlin material-components-android

8
推荐指数
1
解决办法
2525
查看次数