3

I need to use ToggleButtons widget with getx.

but I couldn't find any reference about ToggleButtons & getx.

I tried my best, but I got only Error message below described.

my quenstion is How can I use ToggleButtons widget with Getx?

  • my code works fine in debug mode, but I got error message in release /profile mode(even it is not include Expanded Widget)

thank you.

HomePage

    import 'package:mofu_flutter/src/controller/shelf_life_controller.dart';    
    class HomePage extends StatelessWidget {
          final shelfLifeController = Get.put(ShelfLifeController(), permanent: false);
@override
  Widget build(BuildContext context) {
    return Container(
        child: SafeArea(
            bottom: false,
            child: Scaffold(
        .....
        body:SingleChildScrollView(
        .....
            child: Container(
        .....
            child: Column(
        .....
         Container(
        .....
         Column(
        .....
        .....
        Obx(()=>ToggleButtons(
        ....
         onPressed: (int index) {
                                        shelfLifeController.changeTabIndex(index);
                                      } isSelected: shelfLifeController.isSelected)

Controller

import 'package:get/get.dart';

class ShelfLifeController extends GetxController {

  RxList<bool> isSelected = [false, true, false].obs;
  void changeTabIndex(int index) {
  RxInt tabIndex = 0.obs;
    tabIndex.value = index;
          for(int buttonIndex = 0; buttonIndex < isSelected.length; buttonIndex++){
            if(buttonIndex == index){
              isSelected[buttonIndex] = true;
            } else {
              isSelected[buttonIndex] = false;
            }
          }
  }

  @override
  void onInit() {
    super.onInit();
  }

  @override
  void dispose() {
    super.dispose();
  }
}

Error Message

Error Message

Error Screen Error Screen

Hajime
  • 212
  • 3
  • 13

1 Answers1

2

I didn't added update() end of controller, also shelfLifeController.isSelected changed with shelfLifeController.isSelected.toList(). after, all works fine. :)

TuGordoBello
  • 4,350
  • 9
  • 52
  • 78
Hajime
  • 212
  • 3
  • 13