커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
1주차 숙제 data image 반영
[왕초보] 플러터(Flutter)로 시작하는 앱개발 종합반 v0
1주차
북마크
홍*나
댓글
4
추천
0
조회수
13
조회수
13
답변 완료

* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.

* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.


숙제하고 있는중인데요, dataList가 반영이 안되는것 같아요. 혹시 body를 위에 위치하게 해서 그런가요?



보고

스파르타 즉문즉답

계신 화면 전체를 캡처해 주시면, 튜터님들이 빠르게 상황을 이해할 수 있어요.




작성한 코드 및 에러 메세지

import 'package:flutter/foundation.dart';

import 'package:flutter/material.dart';


void main() {

  runApp(MyApp());

}


class MyApp extends StatelessWidget {

  const MyApp({Key? key}) : super(key: key);

  @override

  Widget build(BuildContext context) {

    return MaterialApp(

      debugShowCheckedModeBanner: false,

      home: Scaffold(

        appBar: AppBar(

          elevation: 0,

          title: Text("Movie Reviews"),

          titleTextStyle: TextStyle(

              fontSize: 26, fontWeight: FontWeight.bold, color: Colors.black),

          actions: [

            IconButton(

              icon: Icon(Icons.perm_identity),

              onPressed: () {},

              iconSize: 35,

              color: Colors.black,

            )

          ],

          backgroundColor: Colors.white,

        ),

        body: Column(

          children: [

            Padding(

              padding: const EdgeInsets.all(8.0),

              child: TextField(

                decoration: InputDecoration(

                  hintText: "영화 제목을 검색해주세요.",

                  border: OutlineInputBorder(

                    borderSide: BorderSide(

                      color: Colors.black,

                    ),

                  ),

                  suffixIcon: IconButton(

                    onPressed: () {},

                    icon: Icon(Icons.search),

                  ),

                ),

              ),

            ),

            Expanded(

              child: ListView.builder(

                itemCount: dataList.length,

                itemBuilder: (context, index) {

                  string imgUrl = dataList[index]["imgUrl"];


                  return Card(

                      child: Stack(

                    children: [Image.network(imgUrl)],

                  ));

                },

              ),

            )

          ],

        ),

      ), // 홈페이지 보여주기

    );

  }

}


class HomePage extends StatelessWidget {

  const HomePage({Key? key}) : super(key: key);


  @override

  Widget build(BuildContext context) {

    // 음식 사진 데이터

    List<Map<String, dynamic>> dataList = [

      {

        "category": "탑건: 매버릭",

        "imgUrl": "https://i.ibb.co/sR32PN3/topgun.jpg",

      },

      {

        "category": "마녀2",

        "imgUrl": "https://i.ibb.co/CKMrv91/The-Witch.jpg",

      },

      {

        "category": "범죄도시2",

        "imgUrl": "https://i.ibb.co/2czdVdm/The-Outlaws.jpg",

      },

      {

        "category": "헤어질 결심",

        "imgUrl": "https://i.ibb.co/gM394CV/Decision-to-Leave.jpg",

      },

      {

        "category": "브로커",

        "imgUrl": "https://i.ibb.co/MSy1XNB/broker.jpg",

      },

      {

        "category": "문폴",

        "imgUrl": "https://i.ibb.co/4JYHHtc/Moonfall.jpg",

      },

    ];


    // 화면에 보이는 영역

    return Scaffold();

  }

}

오류 발생 시, 작성한 코드 전체와 에러 메시지를 첨부해 주세요.

Tip 1) </> 아이콘을 눌러 코드박스를 만들어 보세요.

Tip 2) Ctrl+A(맥의 경우 Command+A) 단축키로 코드를 한 번에 선택할 수 있어요!




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