Я искал способ навсегда сохранить выбранные элементы из представления списка в другом представлении списка для Flutter / Dart.
Этот вопрос не содержит полный код, проект содержит гораздо больше, что можно посмотреть по адресу: https://github.com/Jak3-02/myproject2
Мы будем очень благодарны за любые идеи по этому поводу.
Основное представление списка расположено по адресу home_page.dart.
Второй вид списка с сохраненными элементами будет на favourites_page.dart.
Это основной рассматриваемый список:
Widget _cryptoWidget() {
return new Container(
child: new Column(
children: <Widget>[
new Flexible(
child: new ListView.builder(
itemCount: _currencies.length,
itemBuilder: (BuildContext context, int index) {
final int i = index ~/ 2;
final Crypto currency = _currencies[i];
final MaterialColor color = _colors[i % _colors.length];
if (index.isOdd) {
return new Divider();
}
return _getListItemUi(currency, color);
},
),
),
],
)
);
}
ListTile _getListItemUi(Crypto currency, MaterialColor color) {
return new ListTile(
leading: new Image.network("http://cryptoicons.co/32@2x/color/"+currency.symbol.toLowerCase()+"@2x.png"),
title: new Text(currency.name,
style: new TextStyle(fontWeight: FontWeight.bold)),
subtitle:
_getSubtitleText(currency.price_usd, currency.percent_change_1h),
isThreeLine: true,
trailing: new IconButton(
icon: new Icon(Icons.add),
onPressed: () async { Directory appDocDir = await getApplicationDocumentsDirectory();
String appDocPath = appDocDir.path;
var myFile = new File('$appDocPath/my_file.txt')
..writeAsStringSync('myVar: $_currencies');
print(myFile.absolute.path);
}
),
);
}
Ваше второе замечание, но с возможностью закрыть приложение и оставить избранное для пользователей, которое будет отображаться при повторном открытии приложения; так что рассматриваемый элемент не нужно выбирать повторно.
Ваш вопрос немного непонятен. Вы спрашиваете, как сохранить фактические данные (что может указывать на слово «постоянно»), или вы спрашиваете, как отображать данные на двух разных страницах с общим состоянием (т.е. установка избранного на главной странице делает так, чтобы когда вы переходите в избранное, элемент отображается там).