반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- error
- Git
- AppleSilicon
- sqflite
- Android
- listview
- swift
- ios
- xcode
- list
- GetX
- 데스크테리어
- 플러터
- 카카오
- 라이언
- M1
- VSCode
- TextField
- database
- visualstudiocode
- wrap
- 데스크셋업
- datetime
- 춘식
- react
- 내돈내산
- GitHub
- 간단리뷰
- AppBar
- Flutter
Archives
- Today
- Total
welcome to my blog
[Flutter] showDialog 안될때 본문
728x90
======== Exception caught by gesture ===============================================================
The following assertion was thrown while handling a gesture:
No MaterialLocalizations found.
ToDoApp widgets require MaterialLocalizations to be provided by a Localizations widget ancestor.
The material library uses Localizations to generate messages, labels, and abbreviations.
To introduce a MaterialLocalizations, either use a MaterialApp at the root of your application to include them automatically, or add a Localization widget with a MaterialLocalizations delegate.
코드상으로는 문제가없어서 빌드가 되지만, 실제 작동시킬때 위와 같은 에러가 뜨면서 Dialog가 안보일 때가 있다.
전에 showDialog만 테스트했을때는 잘 됐었는데 왜 갑자기 안되는지 무슨 차이가 있는지 생각하기 시작.
뭔가 다이얼로그가 어떤 화면 위에 떠야하는데 부모 위젯을 잘 못찾아서 그런게 아닐까란 생각에 도달했다
그래서 부모 위젯 정보를 담고있는 context 에 문제가 있는게 아닐까 생각하게되었고 관련 정보를 찾아보았다.
해결방법은 Builder를 끼워넣어서 상위로 만들어 준 다음 context를 받았다.
return Builder(
builder: (BuildContext ctx) {
return Scaffold(
child:
//생략
showDialog(
context: ctx,
builder: (
BuildContext context) =>
AlertDialog(
title: Text("중복된 항목이 있습니다."),
content: Text(value[0]['content'].toString()),
actions: [
TextButton(
child: Text('OK'),
onPressed: () {
Navigator.pop(
context, "OK");
},
),
],
)
,);
//생략
)
}
)
//scaffold의 child에서 showDialog를 시도 -> 실패
scaffold상위에 Builder로 감싸주었다.
이렇게 해결하거나 따로 위젯을 생성(분리) 하게되면 해결이 된다.
참고 : https://darrengwon.tistory.com/371
728x90
반응형
'Flutter' 카테고리의 다른 글
[Flutter] 앱 제목,아이콘 변경하기 (0) | 2021.11.12 |
---|---|
[Flutter] android AppBarTitle Center 정렬 (0) | 2021.11.10 |
[Flutter] DateTime / Clipboard / Snackbar / TextField Inputformatter 사용 (0) | 2021.11.09 |
[Flutter] 위젯 속성 (2) TextField, AppBar, BackgroundImage... (0) | 2021.11.08 |
[Flutter] TextField Focus 해제 (0) | 2021.11.06 |