【问题标题】:How to get Radio to work on flutter when using dynamic object?使用动态对象时如何让 Radio 处理颤振?
【发布时间】:2019-10-09 09:19:31
【问题描述】:

我是 Flutter 的新手,但我遇到了 Radio 的问题。 使用“常规”方法时,我让它完美地工作:

int _groupValue=-1;
...
...
child: Align(
                alignment: Alignment.center,
                child: Column(
                  children: <Widget>[
                    RadioListTile(activeColor: Colors.black,
                      groupValue: _groupValue,
                      value: 1,
                      onChanged: (value) { setState(() {
                        _groupValue=value;
                      });  },
                      title: Text("a"),
                    ),
                    RadioListTile(activeColor: Colors.black,
                      groupValue: _groupValue,
                      value: 2,
                      onChanged: (value) { setState(() {
                        _groupValue=value;
                      });  },

                      title: Text("b"),
                    ),
                  ],
                ),
              ),

由于我使用 API 中的数据来创建单选按钮,因此我已将此代码更改为:

child: Align(
                    alignment: Alignment.center,
                    child:            children: radioListView
                    ),
                  ),

点击按钮后,我调用异步方法从 API 下载数据,如下所示:

void getApiData() async {
    ...
    ...
    ...
    setState() { 
        var radioListView = List<RadioListTile>();
        for (Map<String, dynamic> c in apidata)) {
          radioListView.add(new RadioListTile(
            groupValue: _groupValue,
              value: c['option_value'],
            title: c['title'],
            onChanged: (value) { setState(() {
                        _groupValue=value;
                      });
            ),

          ));
      }
    }
} 

使用第一个代码它可以工作,但是使用第二个代码我只是看到了这些项目,但是当我单击单选按钮时没有任何反应(尽管 onchanged 确实触发了,因为我试图打印该值并且很好) 我做错了什么?

【问题讨论】:

  • 在不说明原因的情况下投反对票有什么意义?

标签: flutter flutter-radiobutton


【解决方案1】:

我在这里找到了解决方案: https://www.didierboelens.com/2018/05/hint-5-how-to-refresh-the-content-of-a-dialog-via-setstate/

问题是我必须分离小部件并为收音机创建另一个有状态小部件

【讨论】:

    猜你喜欢
    • 2021-09-26
    • 2010-09-20
    • 1970-01-01
    • 2020-05-09
    • 2017-11-24
    • 2022-06-22
    • 2018-12-02
    • 2020-06-12
    • 2023-01-31
    相关资源
    最近更新 更多