개발자 랩실/플러터 (Flutter)

A value of type ‘Object?’ can’t be assigned to a variable of type ‘LayoutType?’.

sina.dev 2022. 1. 17. 21:39
728x90

에러 메시지

 

 

에러 원인

  • 선택된 버튼에 따라 변경되는 값이 있는데, 값이 Object로 리턴되고, 리턴받은 값을 사용하기 위해 타입이 지정된 변수에 넣으려고 했을 때 생기는 에러다.

 

 

에러 해결 방안

  • 값을 변경할 때 값을 받을 변수의 타입으로 캐스팅하기
		LayoutType? selectedType = LayoutType.Chart;

				Container(
                alignment: Alignment.center,
                padding: EdgeInsets.all(10),
                child: CustomRadioButton(
                  elevation: 0,
                  absoluteZeroSpacing: true,
                  defaultSelected: selectedType,
                  unSelectedColor: CustomColor.lightGrey4,
                  buttonLables: [
                    '차트 모드',
                    '리모컨 모드',
                  ],
                  buttonValues: [
                    LayoutType.Chart,
                    LayoutType.Remote
                  ],
                  buttonTextStyle: ButtonTextStyle(
                      selectedColor: CustomColor.white,
                      unSelectedColor: CustomColor.white,
                      textStyle: TextStyle(fontSize: 16)),
                  radioButtonValue: (value) {
                    setState(() {
											/// 적용한 곳
                      selectedType = value as LayoutType;
                    });
                  },
                  selectedColor: CustomColor.lightOrange2,
                  width: 150,
                  height: 45,
                ),
              ),