如何从列表中更新文本
How to update the Text in flutter from List
我有一个 Card
小部件。
在 Card
小部件中,我有 Text
小部件和 Raised Button
小部件。
我需要在每次按下 Button
时更改 Text
,使用来自 List
的条目,其中包含例如名称列表
void name=["Ali","mike","jack"]
第一次点击时,Text
会显示"Ali",然后下一次点击会显示"mike",依此类推。
我如何在 Flutter 中执行此操作?
您可以使用setState 来更新值。为了在列表中获得正确的名称,您只需编写 name[i]
其中 i 是索引
- 首先定义你提到的数组
- 定义默认值
- 按下时循环播放
详细代码可以参考这段代码
class _MyHomePageState extends State<MyHomePage> {
List data = ["One", "Two", "Three"];
int i = 0;
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(widget.title),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Text(
data[i],
),
],
),
),
floatingActionButton: FloatingActionButton(
onPressed: () {
setState(() {
i = (i + 1) % data.length;
});
},
tooltip: 'Increment',
child: Icon(Icons.add),
),
);
}
}
我有一个 Card
小部件。
在 Card
小部件中,我有 Text
小部件和 Raised Button
小部件。
我需要在每次按下 Button
时更改 Text
,使用来自 List
的条目,其中包含例如名称列表
void name=["Ali","mike","jack"]
第一次点击时,Text
会显示"Ali",然后下一次点击会显示"mike",依此类推。
我如何在 Flutter 中执行此操作?
您可以使用setState 来更新值。为了在列表中获得正确的名称,您只需编写 name[i]
其中 i 是索引
- 首先定义你提到的数组
- 定义默认值
- 按下时循环播放
详细代码可以参考这段代码
class _MyHomePageState extends State<MyHomePage> {
List data = ["One", "Two", "Three"];
int i = 0;
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(widget.title),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Text(
data[i],
),
],
),
),
floatingActionButton: FloatingActionButton(
onPressed: () {
setState(() {
i = (i + 1) % data.length;
});
},
tooltip: 'Increment',
child: Icon(Icons.add),
),
);
}
}