Data Binding(null 포인터 예외 방지)
2022. 5. 27. 09:33ㆍAndroid/View & Data Binding
서버에서 데이터를 받아 True or false일때 화면에 표시하는 기능을을 적용 할려고 해보니 의도와 다르게 표시되었다가 사라졌다.
디버깅 결과 호출을 두번하고 있었다.
Visible = false
Visible = true
그럼 호출을 두번 하는걸 한번만 하게 변경 하면 되지 않아? 라고 생각 했는데 그럴수 가없었다.
Data Binding에서는 자동으로 초기값을 지정해 준다. 그래서 처음에 false로 값을 호출 하고 추후 데이터를 얻었을때 true로 값이 들어가기에 화면에 보였다가 사라지게 된거였다.
그래서 초기값을 바꿀수는 없는거야?
- 여러 샵질 결과 아직까지 databindg에서의 초기값을 변경 할수 있는 방법은 못 찾았다. 계속 해서 찾아 봐야겠다
해결 방법
- false일때 안보여지고 true일때 보여지도록 변경
null 포인터 예외 방지
생성된 데이터 결합 코드는 자동으로 null 값을 확인하고 null 포인터 예외를 방지합니다. 예를 들어 @{user.name} 표현식에서 user가 null이면 user.name에 null이 기본값으로 할당됩니다. age의 유형이 int인 user.age를 참조하면 데이터 결합은 0을 boolean은 false를 기본값으로 반환합니다.
'Android > View & Data Binding' 카테고리의 다른 글
첫 로딩시 데이터 바인딩 인플레이션이 매우 느림 (0) | 2021.08.11 |
---|---|
뷰 결합 (0) | 2021.04.21 |
데이터 결합 라이브러리 (0) | 2021.01.19 |