如何在日历视图中禁用未来日期[重复]

Posted

技术标签:

【中文标题】如何在日历视图中禁用未来日期[重复]【英文标题】:How to disable future dates in calendarView [duplicate] 【发布时间】:2019-02-23 02:31:19 【问题描述】:

我想在第二天而不是前一天禁用。我已经找到了如何在第二天禁用它,但在前一天它也被禁用了。请帮帮我

这是我的代码

public class Kegiatan extends AppCompatActivity 

private CalendarView calendarKegiatan;

@Override
protected void onCreate(Bundle savedInstanceState) 
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_kegiatan);

    calendarKegiatan = (CalendarView) findViewById(R.id.calendarKegiatan);

    calendarKegiatan.setOnDateChangeListener(new CalendarView.OnDateChangeListener() 
        @Override
        public void onSelectedDayChange(@NonNull CalendarView view, int year, int month, int day) 

            Date getdate = Calendar.getInstance().getTime();

            SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/M/d");
            String dateNow = dateFormat.format(getdate);
            String date = year + "/" + (month + 1) + "/" + day;

            if (date.equals(dateNow)) 
                Intent intent = new Intent(Kegiatan.this, ListKegiatan.class);
                intent.putExtra("tanggal", date);
                startActivity(intent);
             else 
                Toast.makeText(Kegiatan.this, "Dilarang laporan di hari selanjutnya", Toast.LENGTH_SHORT).show();
            
        
    );
    calendarKegiatan.setFocusedMonthDateColor(Color.GREEN);



【问题讨论】:

check this link make future date disable 【参考方案1】:

你试过了吗:

calendarKegiatan = (CalendarView) findViewById(R.id.calendarKegiatan);

calendarKegiatan.setMaxDate(System.currentTimeMillis());

这应该会禁用所有未来的日期。

【讨论】:

谢谢您,您的回答对我很有帮助,先生。我尝试了它并添加了更多代码,它工作了【参考方案2】:

您的问题的解决方案非常简单。只需将MaxDate 设置为当前日期。你可以有这样的代码:

//Declare and initialize your calendarView object.
calendarKegiatan = (CalendarView) findViewById(R.id.calendarKegiatan);


//Set the maximum date
calendarKegiatan.getDatePicker().setMaxDate(System.currentTimeMillis());


//Listen for changes to the date and paste your original logic
calendarKegiatan.setOnDateChangeListener(new CalendarView.OnDateChangeListener()...;


//Do more awesome stuff
calendarKegiatan.setFocusedMonthDateColor(Color.GREEN);

我希望这会有所帮助.. 编码愉快!

【讨论】:

以上是关于如何在日历视图中禁用未来日期[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 p 日历中禁用未来几个月?

如何在日历中禁用回溯日期

如何在日历javascript中禁用以前的日期?

使用日历视图减去日期[重复]

如何在javascript日历中禁用当前日期之后的日期

如何使用android中的回收器视图将事件放在日历中[重复]