Flutter无法更新showModalBottomSheet其中的内容

我想实现单击ListView中的TextButton时进行背景颜色切换为选中状态并修改值。
当前现象为值修改完成但状态未更新,重新打开底部消息框时状态更新。
本人按照网上一些说法为showModalBottomSheet为无状态组件进行操作但未生效。求帮助!

showModalBottomSheet

showModalBottomSheet{
 context: context,
builder: (BuildContext context) {
return StatefulBuilder(builder: (context, setState) {
return Container(
...//省略样式代码
child: Center(
child: Column(
children: [
...//省略无关代码
Container(
...//省略样式代码
child: child: ListView(
                        scrollDirection: Axis.horizontal,
                        children: CreateVipBuy(),
)
...//省略无关代码

CreateVipBuy()

List CreateVipBuy() {
    List TButton = [];
    List Divs = [];
  //生成5列2行的  TextButton
    for (int i = 0; i < 5; i++) {
      for (int j = 0; j < 2; j++) {
        if (i == Vip.VIPbuy[0] && j == Vip.VIPbuy[1]) {
          Vip.BuyBottonBackground = Vip.BuyTButton_TrueColors;
          Vip.BorderColor = Vip.BuyTButtonBorder_TrueColors;
        } else {
          Vip.BuyBottonBackground = Vip.BuyTButton_FalseColors;
        }
        Divs.add(Container(
          ...//省略样式代码
         child: Stack(
            alignment: Alignment.bottomCenter,
            children: [
              Container(
                ...//省略样式代码
                child: TextButton(
                  onPressed: () {
                    print("点击了:第${j + 1}排第${i + 1}列");
                    TestViewState(i, j);
                  },
                  child: Column(
                    children: const [
                     ...//省略无关代码
                  ),
                ),
              ),
             ...//省略无关代码
            ],
          ),
        ));
      }
      TButton.add(Column(
        children: [
          Divs[0],
          SizedBox(
            height: 8.sp,
          ),
          Divs[1],
        ],
      ));
      if (i < 4) {
        TButton.add(SizedBox(
          width: 20.sp,
        ));
      }
      Divs.clear();
    }
    return TButton;
  }

TestViewState(x,y)

 void TestViewState(x, y) {
    setState(() {
      Vip.VIPbuy = [x, y];//修改全局变量
    });
  }

我做了类似的功能,不过框架是GetX,刚开始使用flutter不是很熟练,可以去了解一下