В приложении My Flutter есть список, который загружает данные из базы данных Firebase Firestore.Он прекрасно загружается на всех устройствах симулятора (и некоторых реальных устройствах iOS), но работает только на реальных устройствах iPhone 7.На iPhone7 я получаю следующую ошибку:
RangeError (index): Invalid value: Valid value range is empty: 0
Я не совсем уверен, с чего начать отладку этой ошибки.Любое руководство будет с благодарностью!
Вот мой код генератора списка:
return new ListView(
physics: const AlwaysScrollableScrollPhysics(),
children: snapshot.data.documents.map((DocumentSnapshot document) {
return _buildActivityItem(context,
new Activity(
activity: document['activity'],
dateCreated: document['dateCreated'],
food: document['food'],
id: document.documentID,
sentiment: document['sentiment'],
text: document['text'],
)
);
}).toList(),
);
Widget _buildActivityItem(BuildContext context, Activity activity) {
// Format Date
var formatter = new DateFormat('E., MMMM d').add_j();
var today = new DateFormat('E').format(new DateTime.now()) == new DateFormat('E').format(activity.dateCreated);
String formattedDateCreated = today ? new DateFormat().add_j().format(activity.dateCreated) : formatter.format(activity.dateCreated);
// Format Activity
String emoji = activity.activity == 'Exercise' ? '?'
: activity.food.length > 0 ? '?'
: '?';
// List Foods
String getFoodList = activity.food.join(', ');
return Container(
decoration: new BoxDecoration(
border: new Border(
bottom: new BorderSide(width: 1.0, color: Theme.of(context).dividerColor)
)
),
child: ListTile(
leading: new Text(
emoji,
style: new TextStyle(
fontSize: 34.0
)
),
title: new Text(activity.text),
subtitle: activity.activity.length > 0 ?
new Text(activity.activity )
: activity.food.length > 0 ? new Text(getFoodList)
: null,
trailing: new Text(formattedDateCreated),
),
);
}