i'm getting this error while using list view.
so i have getx controller like this
class RequestMitraController extends GetxController {
final selectedMitra = [].obs;
}
and i'm using this for selected item int view like this whit obx to observe the variable
Expanded(
child: ListView.builder(
itemBuilder: (_, i) {
final selected = false.obs;
return Obx(
() => Padding(
padding: EdgeInsets.only(bottom: 10.h),
child: GestureDetector(
onTap: () {
selected.value = !selected.value;
selected.value
? controller.selectedMitra.add(i)
: controller.selectedMitra
.remove(i);
},
child: Container(
width: 373.w,
height: 96.h,
decoration: BoxDecoration(
borderRadius:
BorderRadius.circular(20.r),
color: selected.value
? Colors.green
: Colors.grey[300],
),
child: Padding(
padding: EdgeInsets.all(9.r),
child: Row(
children: [
Container(
width: 80.w,
height: 80.h,
decoration: BoxDecoration(
borderRadius:
BorderRadius.circular(
10.r),
image: DecorationImage(
image: NetworkImage(
"https://images.unsplash.com/photo-1518791841217-8f162f1e1131?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=800&q=60"),
fit: BoxFit.cover,
),
),
),
SizedBox(width: 20.w),
Expanded(
child: Column(
crossAxisAlignment:
CrossAxisAlignment
.start,
mainAxisAlignment:
MainAxisAlignment
.center,
children: [
TextMonserratBold(
text: "John Doe",
fontSize: 14.sp,
textColour: mainBlack,
),
SizedBox(height: 5.h),
TextMonserratNormal(
text:
"Cashier, SPG, Packaging Helper",
fontSize: 11.sp,
textColour: mainBlack,
),
SizedBox(height: 5.h),
Row(
children: [
Icon(
CupertinoIcons
.star_fill,
color: mainBlack,
size: 14.sp,
),
SizedBox(width: 5.w),
TextMonserratBold(
text: "4.5",
fontSize: 14.sp,
textColour:
mainBlack,
),
Spacer(),
Icon(
CupertinoIcons
.check_mark_circled,
color: Colors.green,
size: 14.sp,
),
SizedBox(width: 5.w),
TextMonserratNormal(
text: "Available",
fontSize: 14.sp,
textColour:
mainBlack,
),
],
),
],
),
),
SizedBox(width: 20.w),
],
),
),
),
),
),
);
},
itemCount: 20,
),
),
everything was working fine. but when i use get.toNamed to go to next page
Get.toNamed(
Routes.ORDER_SUMMARY,
arguments: controller.selectedMitra,
);
and go back to this page i get this error.
is there any suggestion for my problem since i have no idea how to deal with this :).
`======== Exception caught by widgets library ======================================================= The following _CastError was thrown building Obx(has builder, dirty, state: _ObxState#7e686): Null check operator used on a null value
The relevant error-causing widget was: Obx Obx:file:///Volumes/DATA/GEBU/client/lib/app/modules/request_mitra/views/request_mitra_view.dart:103:42 When the exception was thrown, this was the stack: #0 Element.widget (package:flutter/src/widgets/framework.dart:3203:31) #1 RenderObjectElement.widget (package:flutter/src/widgets/framework.dart:5545:42) #2 _LayoutBuilderElement.widget (package:flutter/src/widgets/layout_builder.dart:61:64) #3 debugCheckHasMediaQuery.<anonymous closure> (package:flutter/src/widgets/debug.dart:229:17) #4 debugCheckHasMediaQuery (package:flutter/src/widgets/debug.dart:245:4) #5 MediaQuery.of (package:flutter/src/widgets/media_query.dart:859:12) #6 ScreenUtil.screenHeight (package:flutter_screenutil/screen_util.dart:74:36) #7 ScreenUtil.scaleHeight (package:flutter_screenutil/screen_util.dart:92:52) #8 ScreenUtil.setHeight (package:flutter_screenutil/screen_util.dart:113:44) #9 SizeExtension.h (package:flutter_screenutil/size_extension.dart:8:32) #10 RequestMitraView.build.<anonymous closure>.<anonymous closure>.<anonymous closure> (package:gebu_client/app/modules/request_mitra/views/request_mitra_view.dart:105:75) #11 Obx.build (package:get/get_state_manager/src/rx_flutter/rx_obx_widget.dart:70:28) #12 RxInterface.notifyChildren (package:get/get_rx/src/rx_types/rx_core/rx_interface.dart:26:27) #13 _ObxState.build (package:get/get_state_manager/src/rx_flutter/rx_obx_widget.dart:54:19) #14 StatefulElement.build (package:flutter/src/widgets/framework.dart:4870:27) #15 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4754:15) #16 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4928:11) #17 Element.rebuild (package:flutter/src/widgets/framework.dart:4477:5) #18 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4735:5) #19 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4919:11) #20 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4729:5) ... Normal element mounting (33 frames) #53 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3790:14) #54 Element.updateChild (package:flutter/src/widgets/framework.dart:3540:18) #55 SliverMultiBoxAdaptorElement.updateChild (package:flutter/src/widgets/sliver.dart:1243:37) #56 SliverMultiBoxAdaptorElement.createChild.<anonymous closure> (package:flutter/src/widgets/sliver.dart:1228:20) #57 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2600:19) #58 SliverMultiBoxAdaptorElement.createChild (package:flutter/src/widgets/sliver.dart:1221:12) #59 RenderSliverMultiBoxAdaptor._createOrObtainChild.<anonymous closure> (package:flutter/src/rendering/sliver_multi_box_adaptor.dart:349:23) #60 RenderObject.invokeLayoutCallback.<anonymous closure> (package:flutter/src/rendering/object.dart:1997:59) #61 PipelineOwner._enableMutationsToDirtySubtrees (package:flutter/src/rendering/object.dart:918:15) #62 RenderObject.invokeLayoutCallback (package:flutter/src/rendering/object.dart:1997:14) #63 RenderSliverMultiBoxAdaptor._createOrObtainChild (package:flutter/src/rendering/sliver_multi_box_adaptor.dart:338:5) #64 RenderSliverMultiBoxAdaptor.insertAndLayoutChild (package:flutter/src/rendering/sliver_multi_box_adaptor.dart:484:5) #65 RenderSliverList.performLayout.advance (package:flutter/src/rendering/sliver_list.dart:239:19) #66 RenderSliverList.performLayout (package:flutter/src/rendering/sliver_list.dart:281:12) #67 RenderObject.layout (package:flutter/src/rendering/object.dart:1887:7) #68 RenderSliverEdgeInsetsPadding.performLayout (package:flutter/src/rendering/sliver_padding.dart:137:12) #69 RenderSliverPadding.performLayout (package:flutter/src/rendering/sliver_padding.dart:371:11) #70 RenderObject.layout (package:flutter/src/rendering/object.dart:1887:7) #71 RenderViewportBase.layoutChildSequence (package:flutter/src/rendering/viewport.dart:510:13) #72 RenderViewport._attemptLayout (package:flutter/src/rendering/viewport.dart:1580:12) #73 RenderViewport.performLayout (package:flutter/src/rendering/viewport.dart:1489:20) #74 RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:1731:7) #75 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:887:18) #76 RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:497:19) #77 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:883:13) #78 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:363:5) #79 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1144:15) #80 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1081:9) #81 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:995:5) #85 _invoke (dart:ui/hooks.dart:151:10) #86 PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:308:5) #87 _drawFrame (dart:ui/hooks.dart:115:31)`
i have no idea how to get this problem done.