gpt4 book ai didi

java - 当我在 CalendarView 中选择日期时,calendarView.getDate() 不会改变

转载 作者:行者123 更新时间:2023-12-02 08:52:41 25 4
gpt4 key购买 nike

我有以下代码处理 CalendarView 中的选择日期。问题是 calendar.getDate ()仍然返回当前日期,而不是CalendarView中选择的日期。但是年月日的值是正确的。我有一个想法,就是在日历上设置这些值,但我不喜欢这种方法。请解释如何使calendarView.getDate()返回我在中选择的结果日历 View

    public static AlertDialog getTextDialog(Context ctx) {
View view = LayoutInflater.from(ctx).inflate(R.layout.calendar_dialog, null);
AlertDialog.Builder builder = new AlertDialog.Builder(ctx);
builder.setView(view);
CalendarView calendar = view.findViewById(R.id.calendarView);

calendar.setOnDateChangeListener((view1, year, month, dayOfMonth) -> {
Log.e("DATE", Long.toString(view1.getDate()));
Log.e("DAY", Long.toString(dayOfMonth));
});

return builder.create();
}

最佳答案

显然CalendarView的选择和设置是不一样的。正如您所说,只需在监听器中手动更新它,以便稍后可以使用 getDate() 访问它。

calendarView.setOnDateChangeListener(new CalendarView.OnDateChangeListener() {
@Override
public void onSelectedDayChange(@NonNull CalendarView view, int year, int month, int dayOfMonth) {
Calendar calendar = Calendar.getInstance();
calendar.set(year, month, dayOfMonth);

view.setDate(calendar.getTimeInMillis());

Log.d("calendar", String.valueOf(view.getDate()));
}
});

关于java - 当我在 CalendarView 中选择日期时,calendarView.getDate() 不会改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60683545/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com