Flutter 如何在list view.builder中取消选择已选定的
我试图在我的Flutter 如何在list view.builder中取消选择已选定的,flutter,listview,dart,Flutter,Listview,Dart,我试图在我的listview.builder上实现单一选择,这样在点击一个项目时,其他项目将被取消选择,而只有最后一次点击被选中。这是我的逻辑,但它现在有多种选择,我被困在如何使它单一 FlatButton( onPressed: () { setState(() {
listview.builder
上实现单一选择,这样在点击一个项目时,其他项目将被取消选择,而只有最后一次点击被选中。这是我的逻辑,但它现在有多种选择,我被困在如何使它单一
FlatButton(
onPressed: () {
setState(() {
_bloc.similarProducts[index].selected =
!_bloc.similarProducts[index].selected;
});
},
child: Container(
height: 45,
width:120,
decoration: BoxDecoration(
border: Border.all(
color:!_bloc.similarProducts
[index].selected?
Colors.white:
Hexcolor("#DADE66"),
),
borderRadius: BorderRadius.circular(7),
color: !_bloc.similarProducts[index].selected?
Hexcolor("#DADE66"):
Colors.white,
),
padding: EdgeInsets.all(12),
child: Padding(
padding: const EdgeInsets.only(left:15.0, right:15.0),
child: Center(
child: Text(
!_bloc.similarProducts[index].selected?
"Select": "Selected",
style: TextStyle(
fontWeight: FontWeight.w700,
fontSize: 14,
fontFamily: 'Lato',
color: !_bloc.similarProducts
[index].selected?
Colors.white:
Hexcolor("#DADE66"),
),
),
),
),
),
),
],
);
}
),
如果您只想选择一个项目,您可以创建一个新值,让我们将其称为selectedItem。 然后在按下的FlatButton回调上,将selectedItem设置为要选择的项的值(该值可以是索引、id或任何唯一标识符,可能是该项本身) 然后,您可以检查列表中每个项目的值,如果它等于显示您想要的内容 这样,当您选择新项目时,旧项目将被替换,因此您只选择了1个项目。检查此项