Android 必须向文本小部件提供非空字符串';包:flatter/src/widgets/text.dart';:断言失败:第360行位置10:';数据!=空';

Android 必须向文本小部件提供非空字符串';包:flatter/src/widgets/text.dart';:断言失败:第360行位置10:';数据!=空';,android,android-studio,flutter,dart,Android,Android Studio,Flutter,Dart,抖动错误:必须向文本小部件提供非空字符串。”包:flatter/src/widgets/text.dart”:失败的断言:第360行第10位:“数据!”空' 引发了另一个异常:必须向文本小部件提供非空字符串 这是Main.dart import 'package:bheekho_foundation/widgets/app.dart'; import 'package:flutter/material.dart'; void main() { runApp(App()); } impor

抖动错误必须向文本小部件提供非空字符串。”包:flatter/src/widgets/text.dart”:失败的断言:第360行第10位:“数据!”空'

引发了另一个异常:必须向文本小部件提供非空字符串

这是Main.dart

import 'package:bheekho_foundation/widgets/app.dart';
import 'package:flutter/material.dart';

void main() {
  runApp(App());
}
import 'package:bheekho_foundation/screens/home.dart';
import 'package:flutter/material.dart';

class App extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: HomeScreen(),
    );
  }
}
import 'dart:convert';    
import 'package:bheekho_foundation/models/request.dart';
import 'package:bheekho_foundation/services/request_service.dart';
import 'package:flutter/material.dart';


class HomeScreen extends StatefulWidget {
  @override
  _HomeScreenState createState() => _HomeScreenState();
}

class _HomeScreenState extends State<HomeScreen> {
  RequestService _requestService = RequestService();

  // ignore: unused_element
  Future<List<Request>> _getAllRequest() async {
    var result = await _requestService.getAllRequests();
    List<Request> _list = List<Request>();
    if (result != null) {
      var requests = json.decode(result.body);
      requests.forEach((request) {
        var model = Request();
        model.user_id = request['user_id'];
        model.concern = request['concern'];
        model.message = request['message'];
        setState(() {
          _list.add(model);
        });
      });
    }
    return _list;
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
        appBar: AppBar(
          title: Text("Bheekho App"),
        ),
        body: FutureBuilder<List<Request>>(
          future: _getAllRequest(),
          builder:
              (BuildContext context, AsyncSnapshot<List<Request>> snapshot) {
            if (snapshot.hasData) {
              return ListView.builder(
                  itemCount: snapshot.data.length,
                  itemBuilder: (context, index) {
                    return Column(
                      children: [
                        Card(
                          child: Text(snapshot.data[index].user_id),
                        ),
                      ],
                    );
                  });
            } else {
              return Container(
                child: Text('loading...'),
              );
            }
          },
        ));
  }
}
class Request {
  // ignore: non_constant_identifier_names
  int request_id;
  // ignore: non_constant_identifier_names
  String user_id;
  String concern;
  String message;
}
import 'package:bheekho_foundation/repository/repository.dart';

class RequestService {
  Repository _repository;

  RequestService() {
    _repository = Repository();
  }

  getAllRequests() async {
    return await _repository.httpGet('users');
  }
}
import 'package:http/http.dart' as http;

class Repository {
  String _baseUrl = "http://localhost:8000/api";

  httpGet(String api) async {
    return await http.get(_baseUrl + "/" + api);
  }
}
这是飞镖应用程序

import 'package:bheekho_foundation/widgets/app.dart';
import 'package:flutter/material.dart';

void main() {
  runApp(App());
}
import 'package:bheekho_foundation/screens/home.dart';
import 'package:flutter/material.dart';

class App extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: HomeScreen(),
    );
  }
}
import 'dart:convert';    
import 'package:bheekho_foundation/models/request.dart';
import 'package:bheekho_foundation/services/request_service.dart';
import 'package:flutter/material.dart';


class HomeScreen extends StatefulWidget {
  @override
  _HomeScreenState createState() => _HomeScreenState();
}

class _HomeScreenState extends State<HomeScreen> {
  RequestService _requestService = RequestService();

  // ignore: unused_element
  Future<List<Request>> _getAllRequest() async {
    var result = await _requestService.getAllRequests();
    List<Request> _list = List<Request>();
    if (result != null) {
      var requests = json.decode(result.body);
      requests.forEach((request) {
        var model = Request();
        model.user_id = request['user_id'];
        model.concern = request['concern'];
        model.message = request['message'];
        setState(() {
          _list.add(model);
        });
      });
    }
    return _list;
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
        appBar: AppBar(
          title: Text("Bheekho App"),
        ),
        body: FutureBuilder<List<Request>>(
          future: _getAllRequest(),
          builder:
              (BuildContext context, AsyncSnapshot<List<Request>> snapshot) {
            if (snapshot.hasData) {
              return ListView.builder(
                  itemCount: snapshot.data.length,
                  itemBuilder: (context, index) {
                    return Column(
                      children: [
                        Card(
                          child: Text(snapshot.data[index].user_id),
                        ),
                      ],
                    );
                  });
            } else {
              return Container(
                child: Text('loading...'),
              );
            }
          },
        ));
  }
}
class Request {
  // ignore: non_constant_identifier_names
  int request_id;
  // ignore: non_constant_identifier_names
  String user_id;
  String concern;
  String message;
}
import 'package:bheekho_foundation/repository/repository.dart';

class RequestService {
  Repository _repository;

  RequestService() {
    _repository = Repository();
  }

  getAllRequests() async {
    return await _repository.httpGet('users');
  }
}
import 'package:http/http.dart' as http;

class Repository {
  String _baseUrl = "http://localhost:8000/api";

  httpGet(String api) async {
    return await http.get(_baseUrl + "/" + api);
  }
}
这里是家。飞镖

import 'package:bheekho_foundation/widgets/app.dart';
import 'package:flutter/material.dart';

void main() {
  runApp(App());
}
import 'package:bheekho_foundation/screens/home.dart';
import 'package:flutter/material.dart';

class App extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: HomeScreen(),
    );
  }
}
import 'dart:convert';    
import 'package:bheekho_foundation/models/request.dart';
import 'package:bheekho_foundation/services/request_service.dart';
import 'package:flutter/material.dart';


class HomeScreen extends StatefulWidget {
  @override
  _HomeScreenState createState() => _HomeScreenState();
}

class _HomeScreenState extends State<HomeScreen> {
  RequestService _requestService = RequestService();

  // ignore: unused_element
  Future<List<Request>> _getAllRequest() async {
    var result = await _requestService.getAllRequests();
    List<Request> _list = List<Request>();
    if (result != null) {
      var requests = json.decode(result.body);
      requests.forEach((request) {
        var model = Request();
        model.user_id = request['user_id'];
        model.concern = request['concern'];
        model.message = request['message'];
        setState(() {
          _list.add(model);
        });
      });
    }
    return _list;
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
        appBar: AppBar(
          title: Text("Bheekho App"),
        ),
        body: FutureBuilder<List<Request>>(
          future: _getAllRequest(),
          builder:
              (BuildContext context, AsyncSnapshot<List<Request>> snapshot) {
            if (snapshot.hasData) {
              return ListView.builder(
                  itemCount: snapshot.data.length,
                  itemBuilder: (context, index) {
                    return Column(
                      children: [
                        Card(
                          child: Text(snapshot.data[index].user_id),
                        ),
                      ],
                    );
                  });
            } else {
              return Container(
                child: Text('loading...'),
              );
            }
          },
        ));
  }
}
class Request {
  // ignore: non_constant_identifier_names
  int request_id;
  // ignore: non_constant_identifier_names
  String user_id;
  String concern;
  String message;
}
import 'package:bheekho_foundation/repository/repository.dart';

class RequestService {
  Repository _repository;

  RequestService() {
    _repository = Repository();
  }

  getAllRequests() async {
    return await _repository.httpGet('users');
  }
}
import 'package:http/http.dart' as http;

class Repository {
  String _baseUrl = "http://localhost:8000/api";

  httpGet(String api) async {
    return await http.get(_baseUrl + "/" + api);
  }
}
这是请求服务。dart

import 'package:bheekho_foundation/widgets/app.dart';
import 'package:flutter/material.dart';

void main() {
  runApp(App());
}
import 'package:bheekho_foundation/screens/home.dart';
import 'package:flutter/material.dart';

class App extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: HomeScreen(),
    );
  }
}
import 'dart:convert';    
import 'package:bheekho_foundation/models/request.dart';
import 'package:bheekho_foundation/services/request_service.dart';
import 'package:flutter/material.dart';


class HomeScreen extends StatefulWidget {
  @override
  _HomeScreenState createState() => _HomeScreenState();
}

class _HomeScreenState extends State<HomeScreen> {
  RequestService _requestService = RequestService();

  // ignore: unused_element
  Future<List<Request>> _getAllRequest() async {
    var result = await _requestService.getAllRequests();
    List<Request> _list = List<Request>();
    if (result != null) {
      var requests = json.decode(result.body);
      requests.forEach((request) {
        var model = Request();
        model.user_id = request['user_id'];
        model.concern = request['concern'];
        model.message = request['message'];
        setState(() {
          _list.add(model);
        });
      });
    }
    return _list;
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
        appBar: AppBar(
          title: Text("Bheekho App"),
        ),
        body: FutureBuilder<List<Request>>(
          future: _getAllRequest(),
          builder:
              (BuildContext context, AsyncSnapshot<List<Request>> snapshot) {
            if (snapshot.hasData) {
              return ListView.builder(
                  itemCount: snapshot.data.length,
                  itemBuilder: (context, index) {
                    return Column(
                      children: [
                        Card(
                          child: Text(snapshot.data[index].user_id),
                        ),
                      ],
                    );
                  });
            } else {
              return Container(
                child: Text('loading...'),
              );
            }
          },
        ));
  }
}
class Request {
  // ignore: non_constant_identifier_names
  int request_id;
  // ignore: non_constant_identifier_names
  String user_id;
  String concern;
  String message;
}
import 'package:bheekho_foundation/repository/repository.dart';

class RequestService {
  Repository _repository;

  RequestService() {
    _repository = Repository();
  }

  getAllRequests() async {
    return await _repository.httpGet('users');
  }
}
import 'package:http/http.dart' as http;

class Repository {
  String _baseUrl = "http://localhost:8000/api";

  httpGet(String api) async {
    return await http.get(_baseUrl + "/" + api);
  }
}
这是存储库。dart

import 'package:bheekho_foundation/widgets/app.dart';
import 'package:flutter/material.dart';

void main() {
  runApp(App());
}
import 'package:bheekho_foundation/screens/home.dart';
import 'package:flutter/material.dart';

class App extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: HomeScreen(),
    );
  }
}
import 'dart:convert';    
import 'package:bheekho_foundation/models/request.dart';
import 'package:bheekho_foundation/services/request_service.dart';
import 'package:flutter/material.dart';


class HomeScreen extends StatefulWidget {
  @override
  _HomeScreenState createState() => _HomeScreenState();
}

class _HomeScreenState extends State<HomeScreen> {
  RequestService _requestService = RequestService();

  // ignore: unused_element
  Future<List<Request>> _getAllRequest() async {
    var result = await _requestService.getAllRequests();
    List<Request> _list = List<Request>();
    if (result != null) {
      var requests = json.decode(result.body);
      requests.forEach((request) {
        var model = Request();
        model.user_id = request['user_id'];
        model.concern = request['concern'];
        model.message = request['message'];
        setState(() {
          _list.add(model);
        });
      });
    }
    return _list;
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
        appBar: AppBar(
          title: Text("Bheekho App"),
        ),
        body: FutureBuilder<List<Request>>(
          future: _getAllRequest(),
          builder:
              (BuildContext context, AsyncSnapshot<List<Request>> snapshot) {
            if (snapshot.hasData) {
              return ListView.builder(
                  itemCount: snapshot.data.length,
                  itemBuilder: (context, index) {
                    return Column(
                      children: [
                        Card(
                          child: Text(snapshot.data[index].user_id),
                        ),
                      ],
                    );
                  });
            } else {
              return Container(
                child: Text('loading...'),
              );
            }
          },
        ));
  }
}
class Request {
  // ignore: non_constant_identifier_names
  int request_id;
  // ignore: non_constant_identifier_names
  String user_id;
  String concern;
  String message;
}
import 'package:bheekho_foundation/repository/repository.dart';

class RequestService {
  Repository _repository;

  RequestService() {
    _repository = Repository();
  }

  getAllRequests() async {
    return await _repository.httpGet('users');
  }
}
import 'package:http/http.dart' as http;

class Repository {
  String _baseUrl = "http://localhost:8000/api";

  httpGet(String api) async {
    return await http.get(_baseUrl + "/" + api);
  }
}

您的快照。数据[索引]。此时,用户id很可能为空。 为了确保不将null分配给文本小部件,可以将其更改为如下内容:

Text(
    snapshot.data[index].user_id != null
        ? snapshot.data[index].user_id
        : ""
)
这实际上检查数据是否为空,如果不是空,则加载快照数据。如果是,则加载一个空字符串