【发布时间】:2020-01-27 05:03:31
【问题描述】:
我试图弄清楚如何突出显示选定的 ListTile,因此我只编辑数据库中突出显示的 Tiles 的值。
一些上下文代码以备不时之需。
User_List.dart
class UserList extends StatefulWidget {
@override
_UserListState createState() => _UserListState();
}
class _UserListState extends State<UserList> {
@override
Widget build(BuildContext context) {
final users = Provider.of<List<Camper>>(context) ?? [];
return ListView.builder(
itemCount: users.length,
itemBuilder: (context, index){
return UserTile(user: users[index]);
},
);
}
}
下面是我试图让 OnTap 工作的代码。
User_Tile.dart
class UserTile extends StatelessWidget {
final Camper user;
UserTile({this.user});
@override
Widget build(BuildContext context) {
return Padding(
padding: EdgeInsets.only(top: 8.0),
child: Card(
elevation: 10.0,
color: Colors.blue[100],
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(10.0),
),
margin: EdgeInsets.fromLTRB(20.0, 6.0, 20.0, 0.0),
child: ListTile(
leading: Text('ID: ${user.camperID}'),
title: Text(user.name),
subtitle: Text(user.instrument),
//Dense compacts the text together more
dense: true,
trailing: Text(user.band + ' Band'),
),
),
);
}
}
我使用 onTap 或 onPressed 的大多数尝试都失败了,而且我对 Flutter 的经验不够,所以我想我会在这里问一下,看看是否有人知道。
如果您需要我提供更多信息,请告诉我。谢谢。
【问题讨论】: