Я пытаюсь создать викторину, в которой я создаю карты, например, когда пользователь нажимает на определенную карту, она будет перенаправлена на эту страницу викторины.
вот где я пытаюсь получить данные файла json, которые являются вопросами викторины
class getjson extends StatelessWidget {
@override
Widget build(BuildContext context) {
return FutureBuilder(
future:DefaultAssetBundle.of(context).loadString("assets/questions/generalQ.json"),
builder: (context, snapshot) {
List mydata = json.decode(snapshot.data.toString());
print(mydata);
if (mydata == null) {
return Scaffold(
body: Center(
child: Text(
"Loading",
),
),
);
} else {
return quizpage();
}
},
);
}
}
class quizpage extends StatefulWidget {
@override
_quizpageState createState() => _quizpageState();
}
class _quizpageState extends State<quizpage> {
@override
Widget build(BuildContext context) {
return Container(
);
}
}
и здесь я создал виджеты карт
Widget customcard(String langname, String image, String des){
return Padding(
padding: EdgeInsets.symmetric(
vertical: 20.0,
horizontal: 30.0,
),
child: InkWell(
onTap: (){
Navigator.of(context).pushReplacement(MaterialPageRoute(builder: (context)=>getjson(),));
},
я вызываю класс getjson на onTap.
когда я запускаю приложение, нажмите на карточку, оно показывает, что я загружаюсь, оно возвращает ноль для моих данных класса getjson.
как это исправить? почему он возвращает ноль в mydata? Пожалуйста помоги!
JSON-ФАЙЛ:
[
{
"1": "What is the world's most populated country?",
"2": "Each year World Red Cross and Red Crescent Day is celebrated on",
"3": "The ozone layer restricts"
},
{
"1": {
"a": "Russia",
"b": "China",
"c": "USA"
},
"2": {
"a": "May 8",
"b": "May 18",
"c": "April 28"
},
"3": {
"a": "Visible light",
"b": "Ultraviolet radiation",
"c": "Infrared radiation"
}
}
]