【问题标题】:Hide Ok button on onDateChanged in DatePickerDialog在 DatePickerDialog 中隐藏 onDateChanged 上的确定按钮
【发布时间】:2016-03-17 00:20:30
【问题描述】:

我想在日期更改时隐藏“确定”按钮。下面是我写的代码,但按钮没有改变:

datePickerDialog.getDatePicker().init(year, month, day, new DatePicker.OnDateChangedListener() {

                    @Override
                    public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
                        Toast.makeText(getActivity(),
                                "onDateChanged " + "Year: " + year + "\n" +
                                        "Month of Year: " + monthOfYear + "\n" +
                                        "Day of Month: " + dayOfMonth, Toast.LENGTH_SHORT).show();


                        datePickerDialog.setButton(DatePickerDialog.BUTTON_POSITIVE, null, datePickerDialog);
                        datePickerDialog.setButton(DatePickerDialog.BUTTON_NEGATIVE, "CANCEL", datePickerDialog);


                    }});

非常感谢任何帮助。

【问题讨论】:

  • 评论datePickerDialog.setButton(DatePickerDialog.BUTTON_POSITIVE, null, datePickerDialog);
  • @MD 试过了,还是一样。
  • *button-name*.setVisibility(View.INVISIBLE);不适合你?
  • 按钮是默认的。未定制。

标签: android date datepicker calendar datepickerdialog


【解决方案1】:

这对我有用!

datePickerDialog.getButton(DatePickerDialog.BUTTON_POSITIVE).setVisibility(View.GONE);

【讨论】:

  • 很高兴。!没想到这么简单。虽然花了一段时间
【解决方案2】:

通过隐藏“确定”按钮,您不希望用户选择日期。 DatePicker 不是您的自定义对话框,这就是为什么隐藏按钮可能很困难的原因。您可以限制用户点击确定按钮

    datePickerDialog.getDatePicker().init(year, month, day, new DatePicker.OnDateChangedListener() {

                        @Override
                        public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
                            Toast.makeText(getActivity(),
                                    "onDateChanged " + "Year: " + year + "\n" +
                                            "Month of Year: " + monthOfYear + "\n" +
                                            "Day of Month: " + dayOfMonth, Toast.LENGTH_SHORT).show();


  datePickerDialog.setButton(DialogInterface.BUTTON_POSITIVE,
                        "OK", new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog,
                                    int which) {
                                if ("Your date condition") {
                                 // perform your action
                                }
                            }
                        });
                            datePickerDialog.setButton(DatePickerDialog.BUTTON_NEGATIVE, "CANCEL", datePickerDialog);


                        }});

【讨论】:

  • 我想做的是首先隐藏按钮,这样就不会有任何动作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-03-04
  • 1970-01-01
  • 2015-11-10
  • 2015-11-24
  • 1970-01-01
  • 2018-01-22
  • 2012-05-27
相关资源
最近更新 更多