我有一个<代码>材料数据包< /代码>,它选择了一系列数据,例如从<代码> 2021年1月1日到2021年1月31日< /代码>。
MaterialDatePicker.Builder<Pair<Long, Long>> builder = MaterialDatePicker.Builder.dateRangePicker();
CalendarConstraints.Builder constraintsBuilder = new CalendarConstraints.Builder();
builder.setCalendarConstraints(constraintsBuilder.build());
int dialogTheme = resolveOrThrow(requireContext());
builder.setTheme(dialogTheme);
MaterialDatePicker<Pair<Long, Long>> picker = builder.build();
picker.show(requireActivity().getSupportFragmentManager(), picker.toString());
picker.addOnPositiveButtonClickListener(selection -> {
long startDate = selection.first;
long endDate = selection.second;
from = DateFormat.format("yyyy-MM-dd", new Date(startDate)).toString();
to = DateFormat.format("yyyy-MM-dd", new Date(endDate)).toString();
});
private static int resolveOrThrow(Context context) {
TypedValue typedValue = new TypedValue();
if (context.getTheme().resolveAttribute(R.attr.materialCalendarTheme, typedValue, true)) {
return typedValue.data;
}
throw new IllegalArgumentException(context.getResources().getResourceName(R.attr.materialCalendarTheme));
}
打开MaterialDatePicker时,会显示当前日期2021年2月1日
。当我尝试从2月滚动到1月时,一个月的最后一天是不可见的
要选择本月的最后一天,我应该向下滚动,但当我选择本月的最后一天时,应用程序崩溃,显示此错误:
java.lang.NullPointerExcture:尝试调用一个空对象引用com.google.android.material.datepicker.MaterialCalendarGridView.horizontal中点(MaterialCalendarGridView.java:242)的虚拟方法'intandroid.view.View.get左()'在com.google.android.material.datepicker.MaterialCalendarGridView.on抽奖(MaterialCalendarGridView.java:172)在android.view.View.draw(View.java:23915)在android.widget.AbsListView.draw(AbsListView.java:4988)在android.view.View.update显示列表IfDirty(View.java:22790)在android. view的android.view.View.draw(View. java: 23645)。在android. view的ViewGroup.绘图儿童(ViewGroup. java: 5336)。在android. view的ViewGroup.调度绘图(ViewGroup. java: 5093)。在android. view的View. updateDisplayListIfDirty(View. java: 22776)。在android. view的ViewGroup.绘图儿童(ViewGroup. java: 5336)。在android. view. ViewGroupDisplayListIfDirty(View. java: 5093)在android. view. ViewGroupDisplayListIfDirty(View. java: 22790)在android. view. Draw(View. java: 23645)在android. view. ViewGroupDraw(ViewGroup. java: 5336)在android. view. ViewGroupDraw(ViewGroup. java: 4429)在android. view. updateDisplayListIfDirty(View. java: 22790)在android. view. View. Draw(View. java: 23645)在android. view. ViewGroupDraw(ViewGroup. java: 5336)在android. view. View. View. UpdateDisplayListIfDirty(View. java: 22776)在android. view. View. Draw(View. java: 5336)在android. view.在android. view. view. view. view. view. updateDisplayListIfDirty(ViewGroup. java: 5093)。在android. view. view. view. updateDisplayListIfDirty(ViewGroup. java: 22776)。在android. view. view. view. view. view. Draw(ViewGroup. java: 23645)。在android. view. view. ViewGroup. Draw(ViewGroup. java: 5336)。在android. view. view. view. updateDisplayListIfDirty(ViewGroup. java: 22776)。在android. view. view. view. view. Draw(ViewGroup. java: 5336)。在android. view. view. view. updateDisplayListIfDirty(ViewGroup. java: 5093)。在android. view. view. updateDisplayListIfDirty(View. java: 23645)。在android. view在android. view上查看分组.绘图儿童(ViewGroup. java: 5336)。在android. view上查看分组.调度绘图(ViewGroup. java: 5093)。在android. view上查看. updateDisplayListIfDirty(View. java: 22776)。在android. view上查看.绘图(View. java: 23645)。在android. view上查看分组.绘图儿童(ViewGroup. java: 5336)。在android. view上查看分组.调度绘图(ViewGroup. java: 5093)。在android. view上查看. updateDisplayListIfDirty(View. java: 22776)。在android. view上查看.绘图(View. java: 23645)。在android. view上查看分组.绘图儿童(ViewGroup. java: 5336)。在android上查看分组.调度绘图(ViewGroup. java: 5093)在android. view上查看.绘图(View. java: 23645)。在android. view上查看集团。绘图儿童(ViewGroup. java: 5336)。在android. view上查看集团。调度绘图(ViewGroup. java: 5093)。在android. view上查看. updateDisplayListIfDirty(View. java: 22776)。在android. view上查看.绘图(View. java: 23645)。在android. view上查看集团。绘图儿童(ViewGroup. java: 5336)。在android. view上查看集团。调度绘图(ViewGroup. java: 5093)。在android. view上查看.绘图(View. java: 23918)。在android. view上装饰.绘图(DecorView. java: 1268)。在android. view上查看. updateDisplayListIfDirty(View. java: 22790)ThreadedRenderer. updateRootDisplayList(ThreadedRenderer. java: 573)at android. view. ThreadedRenderer. Draw(ThreadedRenderer. java: 650)at android. view. ViewRootInp. Draw(ViewRootInp. java: 4906)at android. view. ViewRootInp. performDraw(ViewRootInp. java: 4613)at android. view. ViewRootInp. performTraversals(ViewRootInp. java: 3754)at android. view. ViewRootInpl$TraversalRunnable. run(ViewRootInp. java: 9775)2021-02-01 12:06:21.286 10369-10369/com. roko. heth编舞者$FrameDisplayEventReceiver. run(编舞者. java: 995)在android. os. Handler. handleCallback(Handler. java: 938)在android. os. Handler.调度消息(Handler. java: 99)在android. os. Loop.循环(Loop. java: 246)在android. app. ActivityThread. main(ActivityThread. java: 8425)在java. lang.反射. com. android. interal. os. RuntimeInit$MultiodAndArgsCaller. run(RuntimeInit. java: 596)在com. android. interal. os. ZygoteInit. main(ZygoteInit. java: 1130)
我试图查看MaterialCalendarGridView.java:242
,因为错误表明,有这一行:
private static int horizontalMidPoint(@NonNull View view) {
return view.getLeft() + view.getWidth() / 2;
}
有什么帮助吗?
这是一个迟来的答案,但它可以对其他人有用:崩溃是固定在1.5.0-alpha01版本的android材料组件:https://github.com/material-components/material-components-android/releases/tag/1.5.0-alpha01(查看MaterialDatePicker部分)
因此,您可以将material components升级到1.5.0-alpha01,或者解决方法是设置全屏主题
MaterialDatePicker.Builder.dateRangePicker()
.setTheme(R.style.ThemeOverlay_MaterialComponents_MaterialCalendar_Fullscreen)
.setCalendarConstraints(....)
.build()
如何向MaterialDatePicker添加约束以强制用户选择仅介于两个日期之间的日期?
所以我终于实现了用户选择在我尝试做oAuth2时使用哪个gmail帐户的能力……不幸的是,我有几个oAuth2问题没有得到回答…无论如何,在我单击登录按钮后,系统会提示我选择哪个gmail帐户的选项。但是,在我选择它并点击“确定”后,应用程序崩溃了。但是,我不确定为什么。 这是我的主要活动.java 这是返回的错误。 如果任何人有任何想法,这将是非常感谢。此外,我还需要对所选的gmail帐户进行o
我想在日期时间选择器中选择大于开始日期的结束日期时间。 当前,我正在开始日期时间和结束日期时间。 假设,我选择了时间为12:00 pm的当前日期,现在end date应该是时间为1:00 pm的当前日期。 我想要下面这样的东西 示例 开始日期和时间:---2019-11-06 12:00结束日期和时间:---2019-11-06 1:00 这是我的代码 null null
你好,我正在使用AVPlayer与AvController在iOS播放视频.视频播放成功,但一旦它完成播放我的应用程序是得到崩溃。 我使用依赖服务调用PlayVideoFromLocalStorage方法。 一旦视频播放完毕,我就会出现如下错误
elementUI 日期选择器,选择开始日期之后,结束日期只能选择,12月以内的。怎么判断?
我正在创建一个呼叫阻止应用程序,当我添加复选框或单选按钮到我的布局,应用程序开始崩溃。 活动代码。 } 广播接收机代码 公共void onReceive(上下文、意图){ XML文件如下所示 错误日志如下