2 글 보임 - 1 에서 2 까지 (총 2 중에서)
-
글쓴이글
-
2023년 7월 27일 19:15 #92553
배성재참가자숫자가 5보다 적어야 한다고 나오는데 원인을 아시는 분... import 'package:flutter/material.dart';
void main() { runApp(MaterialApp(home: MyApp())); }
class MyApp extends StatefulWidget { MyApp({super.key});
@override State<MyApp> createState() => _MyAppState(); }
class _MyAppState extends State<MyApp> { var total = 5; var name = ['김영숙', '홍길동', '피자집', '고기집', '아기집']; var like = [0, 0, 0, 0, 0];
addName(a) { setState(() { name.add(a); }); }
addOne() { setState(() { total++; }); }
@override build(context) { return Scaffold( floatingActionButton: FloatingActionButton( onPressed: () { showDialog( context: context, builder: (context) { return DialogUI( state: total, state2: name, addOne: addOne, addName: addName); }); }, ), appBar: AppBar(title: Text(total.toString())), body: ListView.builder( itemCount: name.length, itemBuilder: (c, i) { return ListTile( leading: Text(like[i].toString()), title: Text(name[i]), trailing: ElevatedButton( child: Text('좋아요'), onPressed: () { setState(() { like[i]++; }); }, ), ); }), ); } }
class DialogUI extends StatelessWidget { DialogUI({Key? key, this.state, this.state2, this.addOne, this.addName}) : super(key: key); final state; final state2; final addOne; final addName; var inputData = TextEditingController();
@override Widget build(BuildContext context) { return Dialog( child: Container( padding: EdgeInsets.all(20), width: 400, height: 300, child: Column(crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( 'Contact', style: TextStyle( fontWeight: FontWeight.bold, fontSize: 40, color: Colors.black), ), Text( '번호를 입력하세요', style: TextStyle( fontWeight: FontWeight.bold, fontSize: 20, color: Colors.black), ), Container(width: 300, child: TextField(controller: inputData)), Row( mainAxisAlignment: MainAxisAlignment.end, children: [ ElevatedButton( onPressed: () { Navigator.of(context).pop(); }, child: Text("Cancel")), ElevatedButton( onPressed: () { Navigator.of(context).pop(); addOne(); addName(inputData.text); }, child: Text(state.toString())) ], ), ]))); } }
-
글쓴이글
2 글 보임 - 1 에서 2 까지 (총 2 중에서)
- 답변은 로그인 후 가능합니다.