Как получить список из другого класса

#flutter #dart

#flutter #dart

Вопрос:

У меня есть класс characterList, в котором есть final List <Character> character поле; Как я могу получить доступ к character нему из SWMain класса?

SWMain класс:

 class _SWMainState extends State<SWMain> {
  Icon customIcon = Icon(Icons.search);
  static Text titleText = Text("Star Wars API");
  Widget customSearchBar = titleText;

 @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar()
        body: FutureBuilder<List<Character>>(
          future: fetchCharacters(http.Client()),
          builder: (context, snapshot) {
            if (snapshot.hasError) print(snapshot.error);
            return snapshot.hasData
                ? CharacterList(character: snapshot.data)
                : Center(child: CircularProgressIndicator());
          },
        ),
      ),
    );
  }
}
  

Класс списка символов:

 class CharacterList extends StatelessWidget {
  final List<Character> character;
  CharacterList({Key key, this.character}) : super(key: key);
...
}
  

Комментарии:

1. Таким же образом вы получаете доступ к любой другой переменной экземпляра класса — мне непонятно, в чем проблема.

Ответ №1:

CharacterList({Key key, this.character}) : super(key: key);

это конструктор.

Вы используете виджет без состояния, поэтому вы можете получить прямой доступ через имя переменной, которое character в вашем случае.

если вы используете виджет с отслеживанием состояния, поэтому вам нужно получить к нему доступ через widget.character Thanks.