202강 키보드 다시 내려감, 입력창 커스 해제
제목과 같은 현상이 formKey를 설정하고 난 이후부터 일어납니다. Android 에뮬레이터를 사용하고 있습니다.
回答 1
0
안녕하세요, 인프런 AI 인턴입니다. 바닷돌님.
Flutter 프로젝트에서 Form과 관련하여 키보드가 자동으로 내려가고 입력창 커서가 해제되는 문제가 발생하는 경우, 여러 가지 원인이 있을 수 있습니다. 예를 들어, 특정 위젯 트리의 상태 관리 방식 또는 Focus 관련 설정 등이 문제가 될 수 있습니다.
비슷한 사례로 참고하실 수 있는 질문 게시물이 있습니다:
- unsure of the correct solution but similar issue에서는 Flutter 에뮬레이터와 관련된 상태 관리 문제를 다루고 있습니다. 문제의 원인과 해결 방법은 다를 수 있지만, 발행할 수 있는 시나리오를 참고하실 수 있습니다.
또한, Flutter 개발에서는 FocusScope 및 FocusNode를 사용하여 수동으로 포커스를 관리하는 방법도 시도해 보실 수 있습니다. 예를 들어, form을 제출한 후 특정 입력 필드에 자동으로 포커스가 설정되도록 설정할 수 있습니다.
정확한 문제 해결을 위해서는 추가적인 코드 리뷰나 디버깅이 필요할 수 있습니다. 해당 상태를 관리하는 코드와 Form 위젯 설정을 검토하여 자동 포커스 행동을 조정해 보세요.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
0
문제는 GlobalKey를 설정해 놓은 위젯이 Stateless 위젯이었기 때문이었습니다. 처음부터 키보드가 올라오지 않게 설정할 수 있는 IOS 시뮬레이터의 경우에는 키보드가 올라옴으로 발생하는 상태변화를 경험하지 않아도 되지만, 안드로이드 에뮬레이터에서는 일단 키보드가 올라 오도록 되어 있기 때문에 상태가 변했다 하여 다시 build되는 바람에 처음 배정하였던 formKey가 아니라고 인지하여 포커스도 해제하고 키보드도 내려버린 것이지요. 처음 만들었다고 초기화시켜버린 것입니다. 위젯을 Stateful로 바꾸었더니 해결되었어요.
실행과정 질문입니다.
2
36
1
수업 잘 들었습니다.
2
30
2
환경설정 문
2
27
2
맥유저 입장의 고려해주세요
2
88
1

