GridView выдает ошибку внутри Listview.Builder - PullRequest
0 голосов
/ 16 июня 2020

Я пытаюсь протестировать простое приложение Fultter, но оно показывает только один значок вместо 3 и имеет ошибку ниже при отладке.

Во время выполнения performLayout () было выдано следующее утверждение: 'package: flutter / src /rendering/sliver_grid.dart ': Неудачное утверждение: строка 160, позиция 15:' childMainAxisExtent! = null && childMainAxisExtent> = 0 ': неверно.

import 'package:flutter/material.dart';
import 'package:url_launcher/url_launcher.dart';

void main() {
  runApp(MyApp());
}

_launchURL(String url) async {
  print(url);
  if (await canLaunch(url)) {
    await launch(url);
  } else {
    throw 'Could not launch $url';
  }
}

class MyApp extends StatelessWidget {
  var details = {
    'data/icon1.png': 'https://www.google.com/',
    'data/icon.png': 'https://www.linkedin.com/',
    'data/icon.png': 'https://www.linkedin2.com/'
  };
  //sites.put();
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text("BOOKMARKS"),
        ),
        body: Container(
          height: 400,
          color: Colors.white30,
          child: new ListView.builder(
            scrollDirection: Axis.vertical,
            shrinkWrap: true,
            itemCount: details.length,
            itemBuilder: (BuildContext context, int index) {
              String key = details.keys.elementAt(index);
              print(key);
              return new GridView.count(
                shrinkWrap: true,
                crossAxisCount: 4,
                childAspectRatio: 1.0,
                padding: const EdgeInsets.all(4.0),
                mainAxisSpacing: 4.0,
                crossAxisSpacing: 4.0,
                children: <Widget>[
                  GestureDetector(
                    onTap: () => _launchURL(details[key]),
                    child: Image.asset(key),
                  ),
                ],
              );
            },
          ),
        ),
      ),
    );
  }
}
...