如何在 flutter 应用程序中使用 link 从 streambuilder 导航?
How to use link navigating from streambuilder in flutter app?
我正在尝试在 flutter 应用程序中使用 link link 现在我可以使用 const link 但问题是我想使用 link 来自 streambuilder 那么如何改变我的方法?
我是这样尝试的
@override
Widget build(BuildContext context) {
var size = MediaQuery.of(context).size;
try {
return Scaffold(
body: StreamBuilder(
stream: mystreamofallvideos,
builder: (context, snapshot) {
if (snapshot.hasData &&
snapshot.connectionState != ConnectionState.waiting) {
return PageView.builder(
onPageChanged: (page) {
if (israting = true) {
setState(() {
israting = false;
});
}
},
itemCount: snapshot.data.docs.length,
controller: PageController(
initialPage: widget.currentvideoindex,
viewportFraction: 1),
scrollDirection: Axis.vertical,
itemBuilder: (context, index) {
DocumentSnapshot videos = snapshot.data.docs[index];
idovvideo = videos.data()['id'];
return Stack(children: [
- - - - -- -
InkWell(
onTap: () async {
const url =
videos.data()['productlink'];
if (await canLaunch(url))
await launch(url);
else
throw "Could not launch $url";
},
澄清一下这个问题已经回答了。
问题是:
const url = videos.data....
以及解决方案:
final String url = videos.data....
https://dart.dev/guides/language/language-tour#final-and-const
我正在尝试在 flutter 应用程序中使用 link link 现在我可以使用 const link 但问题是我想使用 link 来自 streambuilder 那么如何改变我的方法? 我是这样尝试的
@override
Widget build(BuildContext context) {
var size = MediaQuery.of(context).size;
try {
return Scaffold(
body: StreamBuilder(
stream: mystreamofallvideos,
builder: (context, snapshot) {
if (snapshot.hasData &&
snapshot.connectionState != ConnectionState.waiting) {
return PageView.builder(
onPageChanged: (page) {
if (israting = true) {
setState(() {
israting = false;
});
}
},
itemCount: snapshot.data.docs.length,
controller: PageController(
initialPage: widget.currentvideoindex,
viewportFraction: 1),
scrollDirection: Axis.vertical,
itemBuilder: (context, index) {
DocumentSnapshot videos = snapshot.data.docs[index];
idovvideo = videos.data()['id'];
return Stack(children: [
- - - - -- -
InkWell(
onTap: () async {
const url =
videos.data()['productlink'];
if (await canLaunch(url))
await launch(url);
else
throw "Could not launch $url";
},
澄清一下这个问题已经回答了。
问题是:
const url = videos.data....
以及解决方案:
final String url = videos.data....
https://dart.dev/guides/language/language-tour#final-and-const