#flutter
Вопрос:
Файл Data.dart выглядит следующим образом, где я получаю сообщение об ошибке «Конструктор списка по умолчанию недоступен, когда включена защита от нуля. Попробуйте использовать литерал списка, «List.filled» или «List.generate «. «
// ignore_for_file: unnecessary_new, deprecated_member_use, prefer_collection_literals
class Data {
late String previous;
late String next;
late List<Results> results;
Data.fromJson(Map<String, dynamic> json) {
previous = json['previous'];
next = json['next'];
if (json['results'] != null) {
results = new List<Results>(results);
json['results'].forEach((v) {
results.add(new Results.fromJson(v));
});
}
}
}
class Results {
String skills = " ";
String test = "";
Results.fromJson(Map<String, dynamic> json) {
skills = json['skills'];
test = json['test'];
}
}
У меня также есть файл dataprovider, который выглядит следующим образом:
import 'dart:convert';
import 'package:flutter/widgets.dart';
import 'package:table_widget_project1/data.dart';
class MyDataProvider extends ChangeNotifier {
late Data d;
Future getData(context) async {
// You can call an API to get data, once we've the data from API or any other flow... Following part would always be the same.
// We forgot about one more important part .. lets do that first
// We need access to BuildContext for loading this string and it's not recommended to store this context in any variable here
// in change notifier..
var response = await DefaultAssetBundle.of(context)
.loadString('./lib/data.json');
// now we have response as String from local json or and API request...
var mJson = json.decode(response);
// now we have a json...
d = Data.fromJson(mJson);
notifyListeners(); // for callback to view
}
}
Пример данных Json — это
{
"skills": [{
"skills": "C#",
"test": "//www.google.com/"
},
{
"skills": ".Net Core",
"test": "//www.google.com/"
},
{
"skills": "ASP.Net",
"test": "//www.google.com/"
}
}
Everything from JSON should be printed in a data table widget with columns skills, months, selfscore, testscore, testlink and comments
only the skill and test link is coming from JSON file. Month, selfscore and comments are ditable fields
Комментарии:
1. Покажите точную ошибку, пожалуйста (со стеком).
2. можете ли вы поделиться своими данными ответа?
3. Пожалуйста, уточните вашу конкретную проблему или предоставьте дополнительные сведения, чтобы выделить именно то, что вам нужно. Как написано в настоящее время, трудно точно сказать, о чем вы спрашиваете.
4. проверьте api.flutter.dev/flutter/dart-core/List/List.html —
List
конструктор принимает необязательныйint
параметр, notList
, также обратите внимание, что он устарел в коде, защищенном от нуля5. Я обновил весь вопрос. Кроме того, я нахожусь на начальном уровне, поэтому знания ограничены.