如何转到Futurebuilder的下一个屏幕?
基本上,条件是:
如果快照没有数据,[return CircularProgressIndicator()]
否则,如果'keyword'='target',请转到NextScreen,
else返回[ListView.builder]
body: FutureBuilder(
future: generatedText,
builder: (BuildContext context, AsyncSnapshot snapshot) {
if (snapshot.data == null) {
return const CircularProgressIndicator();
} else if (widget.keyword == 'target') {
// Go to NextScreen instead of 'ListView.builder'
Navigator.push(context, MaterialPageRoute(builder: (context) => NextScreen(text: snapshot.data[7]), ),
);
} else {
return ListView.builder(
itemCount: snapshot.data.length,
itemBuilder: (BuildContext context, int index) {
return InkWell(onTap: () {
Navigator.push(context, MaterialPageRoute(builder: (context) => NextScreen(text: snapshot.data[index]),),
);
},
child: Text(snapshot.data[index],
),
); },
);
} }, ),