커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
Provider로 List 내용 불러오기 문의 드립니다.
[왕초보] 플러터(Flutter)로 시작하는 앱개발 종합반 v0
3주차
북마크
임*식
댓글
5
추천
0
조회수
14
조회수
14
답변 완료

class에 list를 만들었는데 불러오는 방법을 아무리 찾아도 모르겠습니다.

제발 알려주세요!










작성한 코드 및 에러 메세지

import 'package:flutter/material.dart';

import 'package:provider/provider.dart';


void main() {

  runApp(const MyApp());

}


class MyApp extends StatelessWidget {

  const MyApp({super.key});


  @override

  Widget build(BuildContext context) {

    return MultiProvider(

      providers: [

        ChangeNotifierProvider(

          create: (context) => Group(),

        )

      ],

      child: MaterialApp(

        theme: ThemeData(

          useMaterial3: true,

        ),

        home: const MyHomePage(),

      ),

    );

  }

}


class MyHomePage extends StatelessWidget {

  const MyHomePage({

    super.key,

  });


  @override

  Widget build(BuildContext context) {

    return Consumer<Group>(

        builder: (context, group, child) => Scaffold(

            appBar: AppBar(

              title: const Text('리스트'),

            ),

            body: Column(

              children: [

                Expanded(

                  child: ListView.builder(

                    itemCount: group.groupList.length,

                    itemBuilder: (context, index) => Padding(

                      padding: const EdgeInsets.all(20.0),

                      child: Container(

                        color: Colors.grey.shade300,

                        height: 100,

                        child: const ListTile(

                          title: Text('name'), // LIstView에 name과 age를 나오게 하려면 어떻게 하면 되나요?

                          subtitle: Text('age'),

                          //title: Text('${Group().groupList[].name}'),

                          //subtitle: group.groupList[].name,

                          //subtitle: (Text('groupList age')),

                        ),

                      ),

                    ),

                  ),

                ),

              ],

            )));

  }

}


class Person {

  String name;

  int age;

  Person({

    required this.name,

    required this.age,

  });

}


class Group extends ChangeNotifier {

  List<Person> groupList = [

    Person(name: '레드', age: 11),

    Person(name: '블루', age: 12),

    Person(name: '화이트', age: 13),

    Person(name: '블랙', age: 14),

    Person(name: '퍼플', age: 15),

    Person(name: '그레이', age: 16),

  ];

}




취소
 공유
취소
댓글 0
댓글 알림
나의얼굴