如何在日历视图中禁用未来日期[重复]
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);
我希望这会有所帮助.. 编码愉快!
【讨论】:
以上是关于如何在日历视图中禁用未来日期[重复]的主要内容,如果未能解决你的问题,请参考以下文章