I'm currently stuck on the flutter development where I need to retrieve the index from map to other parts of the Scaffold. Is it possible to retrieve the index value from the map below into other parts of Scaffold (Floating Action Button)?
Iterable<int> get positiveIntegers sync* {
int i = articleList.length - 1;
while (true) yield i--;
}
@override
Widget build(BuildContext context) {
int getLength = articleList.length;
var list = positiveIntegers.take(getLength).toList();
return Scaffold(
appBar: AppBar(
title: new Text(
'Popular',
textAlign: TextAlign.center,
),
textTheme: TextTheme(
title: TextStyle(
fontSize: 16,
fontWeight: FontWeight.w700,
color: Colors.black)),
backgroundColor: Colors.white,
centerTitle: true,
elevation: 0.0,
),
body: SwipeStack(
children: list.map((index) {
...
}
),
floatingActionButton: Container(
margin: EdgeInsets.only(top: 25, bottom: 25, left: 20),
alignment: Alignment(0, 1),
child: new Row(
children: <Widget>[
RawMaterialButton(
onPressed: () {
if (isOutOfCards == true) {
setState(() {
isOutOfCards = false;
});
}
},
child: iconBuild(context),
shape: new CircleBorder(),
fillColor: Colors.red[700],
splashColor: Colors.transparent,
highlightColor: Colors.transparent,
padding: const EdgeInsets.all(11),
),
buttonTextBuild(context),
],
),
),
);
}
Widget buttonTextBuild(BuildContext context) {
if (isOutOfCards == false) {
return Container(
child: Text('$cardIndex/${articleList.length}',
textAlign: TextAlign.left,
style: TextStyle(
fontSize: 12.75,
fontWeight: FontWeight.w500,
letterSpacing: 1)));
} else {
return Container(
child: Text('Start Again',
textAlign: TextAlign.left,
style: TextStyle(
fontSize: 12.75,
fontWeight: FontWeight.w500,
letterSpacing: 1)));
}
}
Like the code above I want to retrieve the 'index' from the list.map and pass it to the cardIndex inside buttonTextBuild.
List<int>.asMap(). Check the documentation here.