我有一个list_view和一个按钮,我想在每次点击list_view项后更新按钮的文本。换句话说,我想同时在按钮中显示list_view的被单击项的数量,这意味着当用户单击list_view项时,计数器会增加,并且值将显示在凸起的按钮上。我知道,“状态”可以解决我的问题,但我需要完整的代码。
在_ShowWorkoutPageState类中,我定义了凸起的按钮和列表视图
class _ShowWorkoutPageState extends State<ShowWorkoutPage>
{
Widget appBarTitle = new Text("Search Sample", style: new TextStyle(color:
Colors.white),);
Icon actionIcon = new Icon(Icons.search, color: Colors.white,);
final key = new GlobalKey<ScaffoldState>();
final TextEditingController _searchQuery = new TextEditingController();
List<String> _list=new List();
_ShowWorkoutPageState() {
}
Widget build(BuildContext context) {
return new Scaffold(
key: key,
appBar: buildBar(context),
body: new Container(
child: new Stack(
alignment: AlignmentDirectional.bottomCenter,
children: <Widget>[
new ListView(
padding: new EdgeInsets.symmetric(vertical: 8.0),
children: _IsSearching ? _buildSearchList() : _buildList()),
ButtonTheme(
buttonColor: Colors.black,
minWidth: 300.0,
height: 40.0,
child:
RaisedButton(
child:
Text('Select Movements($totalmovement)',
style: TextStyle(color:
Colors.white),),color:Colors.black,onPressed:(){
})
)
] )
)
);
}
在这个课堂上,我做了我的列表视图。
List<ChildItem> _buildList() {
return _list.map((contact) => new ChildItem(contact)).toList();
}
class ChildItem extends StatefulWidget {
final String name;
ChildItem(this.name);
@override
_ChildItemState createState() => new _ChildItemState();
}
class _ChildItemState extends State<ChildItem> {
int _itemCount = 0;
@override
Widget build(BuildContext context) {
return ListTile(
title: new Text(widget.name),
onTap: () {
_itemCount++;
);
}
我希望有一个解决方案,其中点击列表视图项(ListTile) 点击的项目数将同时显示在“ _ShowWorkoutPageState”类的凸起按钮中。
[