我有一个Flutter应用程序,其中包括一个带有滑块和选项卡视图的脚手架。
选项卡视图包括一个列表,如下图所示,在每个选项卡上显示。
滑块不会嵌入每个列表视图小部件,即
选项卡视图包括一个列表,如下图所示,在每个选项卡上显示。
List<Widget> widgetList = <Widget>[
Post(),
Feed(),
Location(),
HomePage(),
Feed(),
];
现在我想在滑块移动时刷新屏幕上的当前标签页。然而,由于类是私有的,即_HomePageState
,我不知道如何访问下面片段中显示的refreshList()
方法。
homepage.dart:
class HomePage extends StatefulWidget {
@override
_HomePageState createState() => new _HomePageState();
}
class _HomePageState extends State<HomePage> {
var list;
var random;
var refreshKey = GlobalKey<RefreshIndicatorState>();
@override
void initState() {
super.initState();
random = Random();
refreshList();
}
Future<Null> refreshList() async {
refreshKey.currentState?.show(atTop: false);
await Future.delayed(Duration(seconds: 2));
setState(() {
list = List.generate(random.nextInt(10), (i) => "Item $i");
});
return null;
}
}
滑块不会嵌入每个列表视图小部件,即
homepage.dart
,因为滑块值适用于每个单独的选项卡。当移动带有滑块的外部小部件时,如何刷新内部列表视图小部件?