Flutter - я хочу передать переменную из одного класса в другой - PullRequest
0 голосов
/ 05 июня 2018

Я просто хочу передать int и boolean из одного класса в другой.Поскольку это конкретное целое число может отображаться в панели приложения на второй странице, цвет фона необходимо изменить на основе логического значения (True / false).

1 Ответ

0 голосов
/ 05 июня 2018

В навигаторе вы можете передать данные или объект, который вы хотите отправить в другой класс.

Например,

// Data need to sent second screen
class Person {
  final String name;
  final String age;

  Person(this.name, this.age);
}

// Navigate to second screen with data
Navigator.push(context, new MaterialPageRoute(builder: (context) => new SecondScreenWithData(person: new Person("Priyank","28"))));

В SecondScreenWithData классе вы можете получить переданные данные какниже.

class SecondScreenWithData extends StatelessWidget {
  // Declare a field that holds the Person data
  final Person person;

  // In the constructor, require a Person
  SecondScreenWithData({Key key, @required this.person}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return new Scaffold(
      appBar: new AppBar(
        title: new Text("Second Screen With Data"),
      ),
      body: new Center(
        child: new Column(
          mainAxisAlignment: MainAxisAlignment.spaceEvenly,
          children: <Widget>[
            // Display passed data from first screen
            new Text("Person Data  \nname: ${person.name} \nage: ${person.age}"),
            new RaisedButton(
              child: new Text("Go Back!"),
              onPressed: () {
                // Navigate back to first screen when tapped!
                Navigator.pop(context);
              }
            ),
          ],
        )
      ),
    );
  }

Проверьте полный Демонстрация навигации

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