【发布时间】:2021-05-15 22:31:53
【问题描述】:
我正在使用 ListViewBuilder 从 Firestore 集合流构建一个列表,每个项目都是列表中的一个 Text 小部件,我试图在点击 Text 小部件时更改文本的颜色,
Item 1
Item 2
Item 3
当点击/点击Item1时,Item1的文字颜色应该改变
我使用带有 setState 的 GestureDetector 实现,但在 onTap>setState 执行时,流的列表视图被重建,产生一秒钟的空白屏幕/闪烁,并在刷新后失去实际状态
var _dynamicTextColor = Colors.green;
return ListView.builder(
reverse: true,
itemCount: itemStream.length,
itemBuilder: (context, itemIndex) => Container(
child:GestureDetector(
onTap: (){
setState(() {
_dynamicTextColor = Colors.white;
});
},
child: Text(itemStream[itemIndex]['title'], style: TextStyle(color:_dynamicTextColor),),
),
),
);
【问题讨论】:
标签: android firebase flutter dart