Flutter 动态列表视图,在颤振中显示文本和单选按钮

Flutter 动态列表视图,在颤振中显示文本和单选按钮,flutter,Flutter,无法创建文本和单选按钮位于Flatter中的动态列表视图 当我用文本和单选按钮动态创建(从服务获取数据并用文本绑定数据)列表视图时,当我选择单选按钮时,它不显示选中(指示器) 导入“包装:颤振/材料.省道”; 类DemoTest扩展了无状态小部件{ @凌驾 小部件构建(构建上下文){ 返回新材料PP( 主题:新主题数据( 主样本:颜色。蓝色, ), 主页:新的DemoestStatesFull(), );}} 类DemoTestStatesFull扩展StatefulWidget{ Demost

无法创建文本和单选按钮位于Flatter中的动态列表视图

当我用文本和单选按钮动态创建(从服务获取数据并用文本绑定数据)列表视图时,当我选择单选按钮时,它不显示选中(指示器)

导入“包装:颤振/材料.省道”;
类DemoTest扩展了无状态小部件{
@凌驾
小部件构建(构建上下文){
返回新材料PP(
主题:新主题数据(
主样本:颜色。蓝色,
),
主页:新的DemoestStatesFull(),
);}}
类DemoTestStatesFull扩展StatefulWidget{
DemostState createState()=>DemostState();
}
类DemoTestState扩展了状态{
最终列表楼层列表=[
“楼层1”,
“地板2”,
“地板3”,
“楼层4”,
“地板5”,
“楼层6”,
];
int _selectedIndex=0;
int _值2=0;
容器datacontainer=新容器();
_onSelected(整型索引){
设置状态(()=>_selectedIndex=索引);
}
@凌驾
小部件构建(构建上下文){
返回脚手架(
appBar:appBar(
标题:文本(“动态视图示例”),
),
主体:堆栈(
儿童:[
新升起的按钮(
子项:文本(“获取数据”),
onPressed:(){setState(){
datacontainer=DisplayData(floor_list);//假设在json解析字符串列表之后从web服务获取数据是
打印(“点击按钮”);
});}),
数据容器,
],));}
小部件显示数据(Listfloorlist)
{
datacontainer=新容器(
高度:300.00,
宽度:400.00,
子项:ListView.builder(
itemCount:(楼层列表长度),
itemBuilder:(上下文,i){
返回新的InkResponse(
启用反馈:正确,
onTap:()
{
打印(“卡片索引为$i”);
},
孩子:新卡(
颜色:_selectedIndex!=null&&u selectedIndex==i?Colors.green重音:Colors.white,
标高:3.0,
边距:LTRB(5.00,0.00,5.00,5.00)的边距,
孩子:排(
mainAxisSize:mainAxisSize.min,
crossAxisAlignment:crossAxisAlignment.center,
儿童:[
填充(填充:LTRB(20.00,0.0,0.0,0.0)中的常量边集),
填充物(
填充:常数边集全部(10.0),
子项:文本(floorlist[i],样式:新
TextStyle(字体大小:20.0,
fontWeight:fontWeight.bold),
),
填充(填充:从LTRB(70.00,
0.0, 0.0,0.0)),
填充物(
填充:常数边集全部(10.0),
子项:文本(floorlist[i],样式:新
TextStyle(字体大小:20.0,
fontWeight:fontWeight.bold),
),
新收音机(
价值观:我,
组值:_值2,
onChanged:(int值)
{
设置状态(){
_value2=值;
打印(“无线电索引为$value”);
});}),])));}
),);返回数据容器;}

我只想创建带有文本的动态列表视图,然后选择可编辑单选按钮。首先,您可以轻松地对行使用gestureDetector,而无需单选按钮和 将单选按钮置于尾随位置,listTile类似于列表的一行,标题和尾随位于其下方,作为平铺内的相对位置(listTile是您想要的包含文本和单选按钮的列表行)。 ps:GestureDetector是一个小部件,因此您可以返回它,而不是返回行的左侧

return ListTile(
          leading:GestureDetector(
                    child: //add the text here,
                    onTap: () { 
                      //here handle the onclick for text

                     } ,
           ) ,
          trailing://here add the radio button with onchanged normally,

                  );

希望这能回答您的问题。

Dimag khol diye bhai非常感谢您的提问
return ListTile(
          leading:GestureDetector(
                    child: //add the text here,
                    onTap: () { 
                      //here handle the onclick for text

                     } ,
           ) ,
          trailing://here add the radio button with onchanged normally,

                  );