예제를 하다 오류가 발생되어 문의합니다.
아래 코드를 복사 붙이기 하니깐 오류가 나네요...어떻게 수정해야하나요?
추가하기 버튼을 누를 때, textController를 이용하여 TextField에 입력된 가져와 보도록 하겠습니다. 코드스니펫을 복사해 132번째 라인 맨 뒤에 추가해 주세요.
String job = textController.text; // 값 가져오기
print(job);
답변 2
1
오픈 카카오톡으로 답변드렸지만, 혹시라도 동일한 문제를 겪으실 분들을 위해 추가로 답변드립니다.
onPressed에 소괄호() 안에 있는 코드를 중괄호{}로 옮겨주시면 됩니다.
1
안녕하세요.
올려주신 내용만으론 어떤 문제가 있는지 알 수 없어서, 에러 로그와 작성하신 소스 코드를 붙여주시면 확인 후 답변 드리도록 하겠습니다.
보다 신속한 답변을 원하시면 오픈 카카오톡으로 문의 주세요.
감사합니다.
1
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
home: HomePage(),
);
}
}
/// 홈 페이지
class HomePage extends StatefulWidget {
const HomePage({Key? key}) : super(key: key);
@override
State<HomePage> createState() => _HomePageState();
}
class _HomePageState extends State<HomePage> {
List<String> bucketList = ['여행가기']; // 전체 버킷리스트 목록
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("버킷 리스트"),
),
body: bucketList.isEmpty
? Center(child: Text("버킷 리스트를 작성해 주세요."))
: ListView.builder(
itemCount: bucketList.length, // bucketList 개수 만큼 보여주기
itemBuilder: (context, index) {
String bucket = bucketList[index]; // index에 해당하는 bucket 가져오기
return ListTile(
// 버킷 리스트 할 일
title: Text(
bucket,
style: TextStyle(
fontSize: 24,
),
),
// 삭제 아이콘 버튼
trailing: IconButton(
icon: Icon(CupertinoIcons.delete),
onPressed: () {
// 삭제 버튼 클릭시
print('$bucket : 삭제하기');
},
),
onTap: () {
// 아이템 클릭시
print('$bucket : 클릭 됨');
},
);
},
),
floatingActionButton: FloatingActionButton(
child: Icon(Icons.add),
onPressed: () {
// + 버튼 클릭시 버킷 생성 페이지로 이동
Navigator.push(
context,
MaterialPageRoute(builder: (_) => CreatePage()),
);
},
),
);
}
}
/// 버킷 생성 페이지
class CreatePage extends StatefulWidget {
const CreatePage({Key? key}) : super(key: key);
@override
State<CreatePage> createState() => _CreatePageState();
}
class _CreatePageState extends State<CreatePage> {
// TextField의 값을 가져올 때 사용합니다.
TextEditingController textController = TextEditingController();
String? error;
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("버킷리스트 작성"),
// 뒤로가기 버튼
leading: IconButton(
icon: Icon(CupertinoIcons.chevron_back),
onPressed: () {
Navigator.pop(context);
},
),
),
body: Padding(
padding: const EdgeInsets.all(16),
child: Column(
children: [
// 텍스트 입력창
TextField(
controller: textController,
autofocus: true,
decoration: InputDecoration(
hintText: "하고 싶은 일을 입력하세요",
errorText: error,
),
),
SizedBox(height: 32),
// 추가하기 버튼
SizedBox(
width: double.infinity,
height: 48,
child: ElevatedButton(
child: Text(
"추가하기",
style: TextStyle(
fontSize: 18,
),
),
onPressed: (
// 추가하기 버튼 클릭시
// String job = textController.text; // 값 가져오기
//print(job);
String job = textController.text
) {
// 추가하기 버튼 클릭시
},
),
),
],
),
),
);
}
}
회차마다 있는 실습
1
38
2
user-not-found, wrong-password 코드가 더 이상 반환되지 않습니다
1
70
2
SharedPreferences prefs 초기화 시기 문제
1
84
2
index로 삭제하게 되면, index가 고정되어 있으니 문제가 발생하지 않나요?
1
62
2
API 사이트가 안되네요
1
77
2
잘 되다가 sharedPreferences부터 에러
1
63
2
기존의 프로젝트
1
63
2
I/O라는 창이 윈도우에서는 없어요
1
61
2
수강 기간 연장 부탁드립니다.
1
59
2
설정 질문
1
55
2
수강 기간 연장 신청 요청드립니다.
1
49
2
수강기간 연장 부탁드립니다.
1
54
2
수강기간 연장 부탁드립니다.
1
55
2
수강기간 연장 부탁 드립니다.^^
1
66
3
강의계획 문의
1
63
2
안녕하세요. 강의 연장 문의드립니다..
1
72
2
수강기간 연장 부탁드립니다!
1
78
2
2회차 StatefulWidget 예제 dartpad 코드와 영상에서의 코드가 다릅니다.
2
95
2
dartpad 에러
1
103
2
cmd에 flutter doctor 입력하면 바로 튕겨버립니다...
1
108
2
애뮬레이터 실행시 무한로딩
1
132
2
저는 강사님 처럼 화면이 안뜨는데 머테리얼 버전이 다른걸까요??
1
64
2
수강기간 연장 부탁드립니다!
1
58
2
수강기간 연장 부탁드립니다.
1
68
2






