我尝试在pageview
中添加动态内容,但没有显示综合浏览量视图。
class HomeFragment extends StatefulWidget {
@override
_HomeFragmentState createState() => _HomeFragmentState();
}
class _HomeFragmentState extends State<HomeFragment> {
List<String> pagerItems = new List();
@override
void initState() {
populatePager();
}
void populatePager() {
pagerItems.add(
"https://ecouponshop.com/wp-content/uploads/2016/04/20-848x470.jpg");
pagerItems.add(
"https://rukminim1.flixcart.com/flap/960/960/image/eb7785.jpg?q=50");
pagerItems.add(
"https://zamroo.s3.ap-south-1.amazonaws.com/images/product-images/home-garden/washing-machines/medium/20170803092151-23218.jpg");
setState(() {
pagerItems;
});
}
@override
Widget build(BuildContext context) {
return Container(
height: double.infinity,
child: Container(
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: <Widget>[
Container(
height: 200.0,
child: pager(),
)
],
),
),
);
}
Widget pager() {
return PageView.builder(
itemCount: pagerItems.length,
physics: BouncingScrollPhysics(),
itemBuilder: (BuildContext context, int index) {
pagerBody(context, index);
});
}
}
答案 0 :(得分:1)
您的代码中有几个错误,就像您忘记了super.initState()
一样,您没有从itemBuilder
返回任何小部件。并且您在pager.items
内不必要地使用了setState
。这是正确的代码。
class HomeFragment extends StatefulWidget {
@override
_HomeFragmentState createState() => _HomeFragmentState();
}
class _HomeFragmentState extends State<HomeFragment> {
List<String> pagerItems = new List();
@override
void initState() {
super.initState(); // you forgot this
populatePager();
}
void populatePager() {
setState(() {
pagerItems.add("https://ecouponshop.com/wp-content/uploads/2016/04/20-848x470.jpg");
pagerItems.add("https://rukminim1.flixcart.com/flap/960/960/image/eb7785.jpg?q=50");
pagerItems.add("https://zamroo.s3.ap-south-1.amazonaws.com/images/product-images/home-garden/washing-machines/medium/20170803092151-23218.jpg");
});
}
@override
Widget build(BuildContext context) {
return Container(
height: double.infinity,
child: Container(
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: <Widget>[
Container(
height: 200.0,
child: pager(),
)
],
),
),
);
}
Widget pager() {
return PageView.builder(
itemCount: pagerItems.length,
physics: BouncingScrollPhysics(),
itemBuilder: (BuildContext context, int index) {
return pagerBody(context, index); // you forgot this
},
);
}
}