Как я могу обновить текст в флаттер из списка - PullRequest
0 голосов
/ 04 октября 2019

У меня есть Card виджет.

Внутри Card виджета у меня есть Text виджет и Raised Button виджет.

Мне нужно менять Text каждыйвремя нажатия Button, используя запись из List, которая содержит, например, список имен

void name=["Ali","mike","jack"]

. При первом щелчке Text отобразится «Али», затемследующий щелчок покажет «Майк» и т. д.

Как я могу сделать это во флаттере?

Ответы [ 2 ]

0 голосов
/ 04 октября 2019
  1. сначала определите свой массив, как вы упомянули
  2. определите значение по умолчанию
  3. сделайте зацикливание при нажатии

для подробного кода можете обратиться к этому коду

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),
      ),
    );
  }
}
0 голосов
/ 04 октября 2019

Вы можете использовать setState для обновления значения. И чтобы получить правильное имя в списке, вы просто пишете name[i], где я - индекс

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...