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
- 인증문제해결
- Android
- 안드로이드
- 개발환경설정
- git인증
- flutter
- 리액트 네이티브
- 빌드 오류
- 데이터바인딩
- react
- Kotlin
- sourcetree
- Git
- WPF
- bitbucket
- react-native
- gradle
- not working
- VisualStudio
- 리액트
- AWS
- 설정
- aPK
- 디버깅
- 뒤로가기 안됨
- EC2
- 예제
- 안됨
- Invalid credentials
- navController
Archives
- Today
- Total
물에 살고싶은 개발자
[Custom List View] 리스트뷰에서 EditText 쓸때 포커스 튀는 문제 본문
리스트뷰에다가 에딧텍스트를 넣으면 포커스가 튄다.
때문에 제대로된 핸들링도 되지 않는다.
다행히 이 문제를 해결하기 위해 스택오버플로우에 수많은 질문답변글처럼
필터니 뭐니 다른거 쓸 필요가 없었다.
물론 좀 더 디테일하게 들어가면 필요할지도 모르지만 일단 간단하게 쓰자면 그럴필요 없다.
일단 그냥 보통 뷰들을 사용하듯이 리스트뷰에 에딧텍스트를 넣었는데 테스트해보니
포커스가 튄다. 막 튄다. 값도 지멋대로 왓다갓다.
체크박스정도는 뷰홀더패턴으로 처리하면 간단하게 해결되는데,
에딧텍스트는 처음 리스트뷰를 접했을때처럼 미쳐 날뛰기 시작한다.
이 문제는 놀랍게도 xml과 매니페스트에 한줄씩 추가해주면 미쳐날뛰는 에딧텍스트의 포커스문제가 해결된다.
일단 매니패스트에서 리스트뷰를 사용하는 액티비티에 아래 속성을 추가해주자
android:windowSoftInputMode="adjustPan"
그리고 에딧텍스트가 포함된(미쳐날뛰는) 리스트뷰가 있는 xml파일로 가서
해당 리스트뷰에 아래 속성을 추가해주자
android:descendantFocusability="afterDescendants"
끝이다.
이것만으로도 로직을 복잡하고 고도화시켜 해결할 필요없이 기존에 뷰홀더패턴을 이용한 간단한 로직으로도 문제없이 작동한다.
끝!
참고 : http://coderzpassion.com/android-custom-listview-with-edittext/
Comments