flultter listview異常type '(BuildContext, int) => dynamic' is not a subtype of type '(BuildContext, int) => Widget'


type '(BuildContext, int) => dynamic' is not a subtype of type '(BuildContext, int) => Widget'

源碼如下:

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

void main() {
  runApp(MaterialApp(
    title: 'Returning Data',
    home: HomePage(),
  ));
}

class HomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
        appBar: AppBar(
          title: Text('Flutter SnackBar'),
        ),
        body: Center(
          child: new ListViewLayout(),
        ));
  }
}

class ListViewLayout extends StatelessWidget {
  _istviewItemBuilder(BuildContext context, int index) {
    return Text(posts[index].author);
  }

  @override
  Widget build(BuildContext context) {
    return ListView.builder(
        itemCount: posts.length, itemBuilder: _istviewItemBuilder);
  }
}

原因是因為_istviewItemBuilder沒寫 返回值類型Widget 加上就可以

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

void main() {
  runApp(MaterialApp(
    title: 'Returning Data',
    home: HomePage(),
  ));
}

class HomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
        appBar: AppBar(
          title: Text('Flutter SnackBar'),
        ),
        body: Center(
          child: new ListViewLayout(),
        ));
  }
}

class ListViewLayout extends StatelessWidget {
  Widget _istviewItemBuilder(BuildContext context, int index) {
    return Text(posts[index].author);
  }

  @override
  Widget build(BuildContext context) {
    return ListView.builder(
        itemCount: posts.length, itemBuilder: _istviewItemBuilder);
  }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM