AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-29644768

appdev's questions

Martin Hope
appdev
Asked: 2025-03-07 01:30:04 +0800 CST

使用模型和列表时,纯 Dart 输出错误

  • 5

你好,我正在尝试将 nestedJson 检索到 dart,主要我将使用具有类似数据嵌套 Json 的 API 调用,因此下面是我尝试的示例,看看它是否有效。所以我的主要问题是我没有得到预期的输出。下面提到的是我的代码文件,如果这看起来是错误的或乏味的,请指导我正确的方法。

预期产出: 我得到的输出:
达斯塔吉尔 达斯塔吉尔
三十四 三十四
上海 上海
[] []
============ ============
中国
孟加拉国
main.dart
void main() {

var myMap = {
"name": "dastagir",
"age": 34,
"city":"Shangai",
 
 "address": [
   { // Map 1
    "country": "china",
    "city": "Shanghai"
   },
   { // Map 2
     "country": "Bangaldesh",
     "city": "Dhaka"
   },
 ]
};
var obj = Person.fromJson(myMap);
print(obj.name);
print(obj.age);
print(obj.city);
print(obj.address);
print("=======================================");

var myAddress = obj.address;
myAddress!.map((e){
print(e.country);
 }).toList();
}
nested_json.dart
class Person{
  String? name;
  int? age;
  String? city;
  List<Address>? address;
  Person({this.name, this.age, this.city, this.address});

  Person.fromJson(Map<String, dynamic> json){
    name = json['name'];
    age = json['age'];
    city = json['city'];

    if(json['address']!=null){
      address=<Address>[];
    }
    else{
        (json['address'] as List).forEach((e){
          address!.add(Address.fromJson(e));
        });
    }
  }
}

// this is for inner Json List
class Address{
  String? country;
  String? city;
    
  Address({this.country, this.city});

  Address.fromJson(Map<String, dynamic> json){
    country = json['country'];
    city = json['city'];
  }
}`
json
  • 2 个回答
  • 26 Views
Martin Hope
appdev
Asked: 2025-03-05 05:55:59 +0800 CST

Flutter 中的 Navigator.of

  • 5

大家好,我无法在我的 Flutter 页面中导航:

当我在 FLOATINGACTIONBUTTON onPressFunction 上运行此命令时(

onPressed: () {
                Navigator.of(context).pushNamed('/new_note');
              },

我收到以下错误, 这是我用于笔记应用程序的代码结构:Could not find a generator for route RouteSettings("/new_note", null) in the _WidgetsAppState.

main.dart:
import 'package:flutter/material.dart';
import 'package:notes_app/pages/start_page.dart';

void main() {
  runApp(const NoteMain());
}

class NoteMain extends StatelessWidget {
  const NoteMain({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(debugShowCheckedModeBanner: false, home: StartPage());
  }
}
start_page.dart
import 'package:flutter/material.dart';
import '../components/text_widget.dart';
import '../components/title_text_widget.dart';

class StartPage extends StatefulWidget {
  const StartPage({super.key});

  @override
  State<StartPage> createState() => _StartPageState();
}

class _StartPageState extends State<StartPage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      backgroundColor: Color(0xff333333),
      appBar: AppBar(
        // setting default color for our Icons to white
        iconTheme: IconThemeData(color: Colors.white, size: 24),
        backgroundColor: Color(0xff333333),
        // calling TextWidget and initializing it
        title: TitleTextWidget(
          title: "NOTES",
          fontSize: 24.0,
          fontColor: Colors.white,
        ),
        actions: [
          Container(
            margin: EdgeInsets.symmetric(horizontal: 8.0),
            child: IconButton(
              //TODO: MAKE SEARCH for NOTES
              onPressed: () {},
              icon: Icon(Icons.search),
            ),
          ),
        ],
      ),

      // BODY
      body: Column(
        mainAxisAlignment: MainAxisAlignment.center,
        children: [
          Image(image: AssetImage('assets/take_note.png')),

          Divider(
            height: 10.0,
            color: Colors.white,
            indent: 100,
            endIndent: 100,
          ),

          TextWidget(
            title: 'Start Adding Notes',
            fontSize: 18.0,
            fontWeight: FontWeight.normal,
            fontColor: Colors.white,
          ),
        ],
      ),

      floatingActionButton: Builder(
        builder:
            (context) => FloatingActionButton(
              backgroundColor: Colors.white,
              // TODO: ADD FUNUCTIONALITY IN HIVEDB
              onPressed: () {
                Navigator.of(context).pushNamed('/new_note');
              },

              child: Icon(
                Icons.add_circle_sharp,
                color: Color(0xff333333),
                size: 34,
              ),
            ),
      ),
    );
  }
}
new_note.dart
import 'package:flutter/material.dart';
import 'package:google_fonts/google_fonts.dart';

import '../components/title_text_widget.dart';

class NewNote extends StatefulWidget {
  const NewNote({super.key});

  @override
  State<NewNote> createState() => _NewNoteState();
}

class _NewNoteState extends State<NewNote> {
  final _titleController = TextEditingController();
  final _notesController = TextEditingController();

  @override
  void dispose() {
    _titleController.dispose();
    _notesController.dispose();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      backgroundColor: Color(0xff333333),
      // Appbar with Actions
      appBar: AppBar(
        // setting default color for our Icons to white
        iconTheme: IconThemeData(color: Colors.white, size: 24),
        backgroundColor: Color(0xff333333),
        // calling TextWidget and initializing it
        title: TitleTextWidget(
          title: "NOTES",
          fontSize: 24.0,
          fontColor: Colors.white,
        ),
        actions: [
          Container(
            margin: EdgeInsets.symmetric(horizontal: 8.0),
            child: IconButton(
              //TODO: Save Note for NOTES
              onPressed: () {},
              icon: Icon(Icons.save),
            ),
          ),
        ],
      ),
      body: Column(
        children: [
          ListTile(
            title: TextField(
              controller: _titleController,
              style: GoogleFonts.pacifico(
                textStyle: TextStyle(
                  fontSize: 36.0,
                  color: Colors.white,
                  letterSpacing: 3,
                ),
              ),
              decoration: InputDecoration(
                hintText: 'Enter Title',
                hintStyle: TextStyle(color: Colors.white),
              ),
            ),
          ),
          ListTile(
            title: TextField(
              controller: _notesController,
              style: GoogleFonts.pacifico(
                textStyle: TextStyle(
                  fontSize: 18.0,
                  color: Colors.white,
                  letterSpacing: 3,
                ),
              ),
              decoration: InputDecoration(
                hintText: 'Enter Title',
                hintStyle: TextStyle(color: Colors.white),
              ),
            ),
          ),
        ],
      ),
    );
  }
}

尝试在 FAB 中添加单独的 Builder,然后尝试路由,仍然出现同样的错误

flutter
  • 1 个回答
  • 12 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    重新格式化数字,在固定位置插入分隔符

    • 6 个回答
  • Marko Smith

    为什么 C++20 概念会导致循环约束错误,而老式的 SFINAE 不会?

    • 2 个回答
  • Marko Smith

    VScode 自动卸载扩展的问题(Material 主题)

    • 2 个回答
  • Marko Smith

    Vue 3:创建时出错“预期标识符但发现‘导入’”[重复]

    • 1 个回答
  • Marko Smith

    具有指定基础类型但没有枚举器的“枚举类”的用途是什么?

    • 1 个回答
  • Marko Smith

    如何修复未手动导入的模块的 MODULE_NOT_FOUND 错误?

    • 6 个回答
  • Marko Smith

    `(表达式,左值) = 右值` 在 C 或 C++ 中是有效的赋值吗?为什么有些编译器会接受/拒绝它?

    • 3 个回答
  • Marko Smith

    在 C++ 中,一个不执行任何操作的空程序需要 204KB 的堆,但在 C 中则不需要

    • 1 个回答
  • Marko Smith

    PowerBI 目前与 BigQuery 不兼容:Simba 驱动程序与 Windows 更新有关

    • 2 个回答
  • Marko Smith

    AdMob:MobileAds.initialize() - 对于某些设备,“java.lang.Integer 无法转换为 java.lang.String”

    • 1 个回答
  • Martin Hope
    Fantastic Mr Fox msvc std::vector 实现中仅不接受可复制类型 2025-04-23 06:40:49 +0800 CST
  • Martin Hope
    Howard Hinnant 使用 chrono 查找下一个工作日 2025-04-21 08:30:25 +0800 CST
  • Martin Hope
    Fedor 构造函数的成员初始化程序可以包含另一个成员的初始化吗? 2025-04-15 01:01:44 +0800 CST
  • Martin Hope
    Petr Filipský 为什么 C++20 概念会导致循环约束错误,而老式的 SFINAE 不会? 2025-03-23 21:39:40 +0800 CST
  • Martin Hope
    Catskul C++20 是否进行了更改,允许从已知绑定数组“type(&)[N]”转换为未知绑定数组“type(&)[]”? 2025-03-04 06:57:53 +0800 CST
  • Martin Hope
    Stefan Pochmann 为什么 {2,3,10} 和 {x,3,10} (x=2) 的顺序不同? 2025-01-13 23:24:07 +0800 CST
  • Martin Hope
    Chad Feller 在 5.2 版中,bash 条件语句中的 [[ .. ]] 中的分号现在是可选的吗? 2024-10-21 05:50:33 +0800 CST
  • Martin Hope
    Wrench 为什么双破折号 (--) 会导致此 MariaDB 子句评估为 true? 2024-05-05 13:37:20 +0800 CST
  • Martin Hope
    Waket Zheng 为什么 `dict(id=1, **{'id': 2})` 有时会引发 `KeyError: 'id'` 而不是 TypeError? 2024-05-04 14:19:19 +0800 CST
  • Martin Hope
    user924 AdMob:MobileAds.initialize() - 对于某些设备,“java.lang.Integer 无法转换为 java.lang.String” 2024-03-20 03:12:31 +0800 CST

热门标签

python javascript c++ c# java typescript sql reactjs html

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve