【问题标题】:Flutter Drawer Photo not working- 'package:flutter/src/painting/_network_image_io.dart': Failed assertion: line 25 pos 14: 'url != null': is not trueFlutter Drawer Photo 无法正常工作-'package:flutter/src/painting/_network_image_io.dart':断言失败:第 25 行 pos 14:'url != null':不正确
【发布时间】:2021-07-02 15:44:42
【问题描述】:

我想在抽屉标题中显示个人资料照片,但显示错误 'package:flutter/src/painting/_network_image_io.dart':断言失败:第 25 行 pos 14:'url != null':不正确。

Firebase 将个人资料照片 URL 提供给变量,但错误显示该变量为空

我尝试通过多种方式解决此错误,但遗憾的是无法修复它

import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:flutter/material.dart';
import 'package:fivetagsmobileapp/constant.dart';
import 'package:firebase_auth/firebase_auth.dart';
import 'package:flutter_restart/flutter_restart.dart';

class Drwr extends StatefulWidget {
  @override
  _DrwrState createState() => _DrwrState();
}

class _DrwrState extends State<Drwr> {
  final _auth = FirebaseAuth.instance;

  String profilePhoto;

  @override
  void initState() {
    super.initState();
    final User user = _auth.currentUser;
    final uid = user.uid;

    FirebaseFirestore.instance
        .collection('users')
        .doc(uid)
        .get()
        .then((DocumentSnapshot documentSnapshot) {
      profilePhoto = documentSnapshot.data()["profileURL"];
    });
  }

  @override
  Widget build(BuildContext context) {
    return Theme(
      data: Theme.of(context).copyWith(
        canvasColor: blueLight,
      ),
      child: ClipRRect(
        borderRadius: BorderRadius.only(
          bottomRight: Radius.circular(150),
        ),
        child: Drawer(
          child: ListView(
            padding: EdgeInsets.zero,
            children: <Widget>[
              DrawerHeader(
                decoration: BoxDecoration(
                  color: blueLightUnselected,
                  boxShadow: [BoxShadow(color: blueLight, spreadRadius: 1)],
                ),
                child: Padding(
                  padding: EdgeInsets.only(right: 25.0),
                  child: Center(
                    child: CircleAvatar(
                      radius: 30.0,
                      foregroundImage: NetworkImage(profilePhoto),
                    ),
                  ),
                ),
              ),
              
            ],
          ),
        ),
      ),
    );
  }
}```

【问题讨论】:

    标签: firebase flutter google-cloud-firestore flutter-dependencies


    【解决方案1】:

    您是否尝试使用默认图像?如果“profilePhoto”为空

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-01
      • 2021-05-04
      • 2021-05-14
      • 2020-11-24
      • 2021-04-12
      • 2020-04-03
      • 2020-12-14
      • 2020-03-01
      相关资源
      最近更新 更多