커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
스스로 해결
3-2 마이메모 앱 만들기 08:06 핫리로드X 리스타트O
[왕초보] 플러터(Flutter)로 시작하는 앱개발 종합반 v0
3주차
북마크
강*종
댓글
3
추천
1
조회수
12
조회수
12
스스로 해결

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

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


body: memoList.isEmpty

     ? Center(child: Text("메모를 작성해 주세요"))

     : Center(child: Text('메모가 존재합니다!')),


위 코드를 입력 후

List<String> memoList = ['장보기 목록: 사과, 양파']; // 전체 메모 목록


임상원 튜터님께서 '장보기 목록: 사과, 양파' 부분을 삭제 후 커맨드+S 버튼으로 저장 (핫 리로드) 하여 애뮬레이터가 바로 변하는데요


저는 핫 리로드로는 변하지 않고 리스타트 버튼을 누르면 그제서야 변하더라구요


혹시 왜이러는지 알 수 있을까요?

플러터 버전 때문이려나요?


저장 후 변하지 않아서 오타를 찾아봐도 없는데 당황하다가 리스타트 누르니 변하기는 하더라구요

근데 임상원 튜터님은 그냥 저장해도 바로 변하네요








import 'package:flutter/cupertino.dart';

import 'package:flutter/material.dart';


void main() {

 runApp(const MyApp());

}


class MyApp extends StatelessWidget {

 const MyApp({super.key});


 @override

 Widget build(BuildContext context) {

  return MaterialApp(

   debugShowCheckedModeBanner: false,

   home: HomePage(),

  );

 }

}


// 홈 페이지

class HomePage extends StatefulWidget {

 const HomePage({super.key});


 @override

 State<HomePage> createState() => _HomePageState();

}


class _HomePageState extends State<HomePage> {

 List<String> memoList = ['장보기 목록: 사과, 양파']; // 전체 메모 목록


 @override

 Widget build(BuildContext context) {

  return Scaffold(

   appBar: AppBar(

    backgroundColor: Colors.blue,

    title: Text("mymemo"),

   ),

   body: memoList.isEmpty

     ? Center(child: Text("메모를 작성해 주세요"))

     : Center(child: Text('메모가 존재합니다!')),

   floatingActionButton: FloatingActionButton(

    child: Icon(Icons.add),

    onPressed: () {

     // + 버튼 클릭시 메모 생성 및 수정 페이지로 이동

     Navigator.push(

      context,

      MaterialPageRoute(builder: (_) => DetailPage()),

     );

    },

   ),

  );

 }

}


// 메모 생성 및 수정 페이지

class DetailPage extends StatelessWidget {

 DetailPage({super.key});


 TextEditingController contentController = TextEditingController();


 @override

 Widget build(BuildContext context) {

  return Scaffold(

   appBar: AppBar(

    actions: [

     IconButton(

      onPressed: () {

       // 삭제 버튼 클릭시

      },

      icon: Icon(Icons.delete),

     )

    ],

   ),

   body: Padding(

    padding: const EdgeInsets.all(16),

    child: TextField(

     controller: contentController,

     decoration: InputDecoration(

      hintText: "메모를 입력하세요",

      border: InputBorder.none,

     ),

     autofocus: true,

     maxLines: null,

     expands: true,

     keyboardType: TextInputType.multiline,

     onChanged: (value) {

      // 텍스트필드 안의 값이 변할 때

     },

    ),

   ),

  );

 }

}


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