标签: android-datepicker

Datepicker:如何在单击按钮时弹出datepicker并将值存储在变量中

我想显示datepicker弹出窗口.我找到了一些例子,但我没有得到正确的答案.我有一个按钮,我希望当我点击按钮时,应弹出datepicker对话框,并在设置日期后,日期应存储在变量中.PLease为我提供示例代码或良好的链接.

android datepicker android-datepicker

20
推荐指数
2
解决办法
5万
查看次数

单击EditText打开DatePickerDialog需要两次单击

我想点击编辑文字打开日历.之后,我想设置用户从编辑文本中的日历中选择的日期.问题是,只有当我第二次点击EditText然后打开日历时.请帮我解决问题(why calendar don't open for the first time).

EditText XML代码

<EditText
            android:id="@+id/dateofBirth"
            android:layout_width="290dp"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:layout_marginTop="10dp"
            android:maxLines="1"
            android:hint="dd/mm/yyyy" />
Run Code Online (Sandbox Code Playgroud)

活动代码

public void informationPopUp() {
        final Dialog dialog= new Dialog(MainActivity.this,R.style.Dialog_Fullscreen);
        dialog.setContentView(R.layout.details_dialog); 
        dateofBirth = (EditText)dialog.findViewById(R.id.dateofBirth);

        dialog.show();
         myCalendar = Calendar.getInstance();

       final 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);
                updateLabel();
            }


        };

        dateofBirth.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View …
Run Code Online (Sandbox Code Playgroud)

android android-datepicker android-layout

19
推荐指数
5
解决办法
7万
查看次数

如何隐藏过去的日期并限制用户仅选择将来的日期

如何在DatePicker对话框中隐藏过去的日期?我不想让用户选择过去的日期

什么是最好的方式?如果我想限制用户只选择未来的日期!

    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        .................................................
        editDate.setOnClickListener(new View.OnClickListener() {

            @SuppressWarnings("deprecation")
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                showDialog(DIALOG_DATE);
            }
        });   

    }

     @Override
        protected Dialog onCreateDialog(int id) {
            switch (id) {
            case DIALOG_DATE:
                return new DatePickerDialog(this, new OnDateSetListener() {

                    @Override
                    public void onDateSet(DatePicker view, int year,
                            int monthOfYear, int dayOfMonth) {
                        dateTime.set(year, monthOfYear, dayOfMonth);
                        editDate.setText(dateFormatter
                                .format(dateTime.getTime()));
                    }
                }, dateTime.get(Calendar.YEAR),
                   dateTime.get(Calendar.MONTH),
                   dateTime.get(Calendar.DAY_OF_MONTH));
            }
            return null;
     }

}
Run Code Online (Sandbox Code Playgroud)

android android-datepicker

16
推荐指数
2
解决办法
1598
查看次数

在DatePicker上设置MinDate会将CalendarView移动到1964

我正在调试一个问题,如果设置了非默认的最小日期CalendarView,那么DatePicker移动到1964年10月.这至少在API17 Nexus7仿真器上再现,但在其他设备上有关于此问题的报告,其中平台样式包括日期选择器中的微调器和日历视图.

这是一个演示此问题的代码段:

class DatePickerDialog1964 extends DatePickerDialog {
    DatePickerDialog1964(Context c) {
        super(c, null, 2013, 4, 21);

        @SuppressWarnings("deprecation")
        Date min = new Date(2013-1900, 4, 21);

        DatePicker p = getDatePicker();
        p.setMinDate(min.getTime());
    }
}
Run Code Online (Sandbox Code Playgroud)

...

new DatePickerDialog1964(context).show();
Run Code Online (Sandbox Code Playgroud)

截屏:

1964年10月日期视图中的日期选择器

当然,期望旋转器和日历视图显示相同的日期.

我会继续调试这个,但如果有SO用户有经验或其他见解,请分享.

有关:

android android-datepicker

15
推荐指数
3
解决办法
2万
查看次数

Android如何在Fragment中显示DatePicker?

我是Android Fragments的新手,我想知道如何DatePicker在简单Fragment而不是a中显示或实现FragmentActivity.

例如,我的班级名称是:

public class FragmentAddCard extends Fragment {
}
Run Code Online (Sandbox Code Playgroud)

谢谢.

android android-datepicker android-fragments

15
推荐指数
2
解决办法
4万
查看次数

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;
    }
}
Run Code Online (Sandbox Code Playgroud)

我表现为:

DatePickerDialogFragment fragment = new DatePickerDialogFragment();
fragment.setListener(dateSetListener);
fragment.show(getSupportFragmentManager(), "Choose booking date");
Run Code Online (Sandbox Code Playgroud)

我希望用户不应该在今天之前选择日期.正如你所看到的,我setMinDate()用今天的时间调用了方法,但它没有效果.该对话框显示今天之前的日期为灰色但可选择.

我也尝试按照一些stackoverflow答案中的建议进行子类DatePickerDialog和覆盖onDateChanged,但没有任何成功.

android android-datepicker

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

使用最小/最大限制时,Android DatePicker显示不可用的月份

我只在StackOverflow上找到了另外一个这个问题的实例,这个问题没有答案(去年),所以我想我会再给它一个镜头.(Android DatePicker/Dialog使用最小/最大日期显示不正确的月/ s,带有实际图像)

设置Android DatePicker的minDate和maxDate时,它将显示在最小和最大日期范围内不可用的月份.我将使用以下图片演示此问题:

当我在minDate时:

当我在minDate

当我处于日期限制之间时:

在两个日期之间

当我在maxDate时:

在maxDate

在这种情况下,不可用的月份(在这种情况下是四月和六月)充当最小值和最大值,所以到四月,DatePicker将拍摄到五月十五日,或者试图滑到六月将DatePicker移动到五月二十二日.

是否可以将这些(不可用的)月份隐藏起来,因此在此测试用例中,唯一可选择的部分是日期?另外请记住,例如,5月29日到6月5日之间的间隔必须出现在列表中.

android datepicker android-datepicker mindate maxdate

14
推荐指数
1
解决办法
1081
查看次数

EditText的弹出DatePicker

一直在尝试查看关于DatePickers突然出现的其他问题,EditText但我在使用它时遇到了问题.

我见过的例子,你可以使用setOnClickListener或者setOnTouchListener,哪一个是最好的?

我也见过几种不同的设计DatePicker,你如何改变设计?

下面是我的代码到目前为止,尝试使用其他示例中的代码,但无法使其工作.

import android.app.Activity;
import android.os.Bundle;
import android.widget.EditText;
import android.widget.TextView;


/**
 * Created by MOS182 on 7/21/13.
 */
public class AddReminder extends Activity {

    TextView Title, Amount, PaymentDate, ReminderDate, ReminderTime;
    EditText eTitle, eAmount, ePaymentDate, eReminderDate, eReminderTime;

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {


        super.onCreate(savedInstanceState);
        setContentView(R.layout.reminders_dialog);
        initializeVariables();
    }



    private void initializeVariables()
    {
        Title = (TextView) findViewById(R.id.tvTitle);
        Amount = (TextView) findViewById(R.id.tvAmount);
        PaymentDate = (TextView) findViewById(R.id.tvPaymentDate);
        ReminderDate = (TextView) findViewById(R.id.tvReminderDate);
        ReminderTime = (TextView) findViewById(R.id.tvReminderTime); …
Run Code Online (Sandbox Code Playgroud)

android android-datepicker

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

月份名称出现在android中的datePicker对话框中的M +编号

我试图在datePicker对话框中以类似的格式显示日期Sep|29|2016.你可以在下面的图像中看到.

预期产出

在此输入图像描述

不幸的是,大部分时间我28|M09|2016很少得到我的预期输出.你可以在下面的图像中看到

电流输出

在此输入图像描述

我试过以下代码

public Dialog onCreateDialog(Bundle savedInstanceState) {
    Calendar calendar = Calendar.getInstance();

    System.out.println(calendar.getDisplayName(Calendar.MONTH, Calendar.SHORT, Locale.US));    

    calendar.getDisplayName(Calendar.MONTH, Calendar.SHORT, Locale.US);
    int yy = calendar.get(Calendar.YEAR);
    int mm = calendar.get(Calendar.MONTH);   
    int dd = calendar.get(Calendar.DAY_OF_MONTH);      

    System.out.println("yearr==="+yy);
    System.out.println("monthh==="+mm);
    System.out.println("dayy==="+dd);



    DatePickerDialog datepickerdialog = new DatePickerDialog(getActivity(),
             this,yy,mm,dd);
    return datepickerdialog;
}
Run Code Online (Sandbox Code Playgroud)

谢谢你的期待.

android android-datepicker datepickerdialog

12
推荐指数
2
解决办法
2287
查看次数

MaterialDatePicker 仅选择 2 个日期之间的日期

如何向 MaterialDatePicker 添加约束以强制用户仅选择 2 个日期之间的日期?

val constraintBuilder = CalendarConstraints.Builder()
    val materialRangeBuilder = MaterialDatePicker.Builder.datePicker()
    materialRangeBuilder.setTitleText("Book Date")
    materialRangeBuilder.setCalendarConstraints(constraintBuilder.build())

    val materialRangePicker = materialRangeBuilder.build()

    materialRangePicker.addOnPositiveButtonClickListener {
        Timber.d("$it")
    }

    materialRangePicker.show(supportFragmentManager, "DATE_RANGE_PICKER")
Run Code Online (Sandbox Code Playgroud)

android android-datepicker kotlin material-components-android

12
推荐指数
2
解决办法
5854
查看次数