inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

냉동코더의 알기 쉬운 Modern Android Development 입문

Practice4B-Safe args로 프래그먼트간 데이터 전달하기 (SafeArgs, Parcelable, WebView)

private val binding get() = _binding!! 과 private val binding = _binding!! 의 차이

648

jminie

작성한 질문수 29

0

이전에 LiveData를 다룰 때는 

private val _mutableLiveData ...

val liveData = _mutableLiveData

이런식으로 get()을 쓰지 않아도 오류가 발생하지 않았던 것 같은데

BookFragment에서 뷰 바인딩을 사용할 때는 get()을 쓰지 않고

private val binding = _binding!!

와 같이 get()을 쓰지 않으면 앱이 could not find Fragment Constructor 오류를 뱉으며 죽습니다. 

 

이유가 무엇인지 궁금합니다.

jetpack kotlin architecture android

답변 2

1

jminie

블로그 글을 자세히 읽어보니 이해가 되는 것 같습니다 감사합니다!

0

냉동코더

`get()` 과 `Assignment (=)`의 차이를 생각해 보면 이유를 짐작할 수 있을 것 같습니다.

`Assignment (=)`를 사용하면 필드값이 바로 지정값으로 할당되지만 `get()`은 값을 할당하지 않고 게터 함수만을 생성하게 됩니다. 구체적인 차이에 대해서는 다음 블로그를 참조해 보세요. https://gift123.tistory.com/59

따라서 `private val binding = _binding!!` 으로 설정하면 onCreateView 이전에 binding의 필드값이 null로 고정되어 버려서 프래그먼트 생성에 실패하는 거 아닐까 싶네요.

Coroutine, Flow 질문

0

401

1

Transformations import 안됨

0

588

1

moshi관련 질문입니다.

0

566

2

searchBooks() 에서 북 검색 입력을 너무 빨리 할 경우 마지막 글자로 검색이 안돼요.

0

375

1

안드로이드에서 아키텍처 패턴

0

423

1

RecyclerView.Adapter vs ListAdpater

0

473

1

Flows 와 Coroutine

1

573

1

[BookSearchAdapter] onBindViewHolder의 currentList[position] 질문

0

370

1

코루틴 메모리 관련해서 질문드립니다!

0

457

1

Java Bill Pugh Solution 에서 INSTANCE

0

469

1

nested json에서 특정 부분만 파싱하는법

0

495

1

Fragment에서의 viewBinding

0

525

3

toolbar 질문드립니다.

0

417

2

EditText 에서 delay 주셔서 처리하셨는데 flow 의 debounce() 하고 같은건가요?

2

568

1

코루틴 관련 질문

0

549

1

오류

1

494

2

강사님! 직렬화 라이브러리를 Moshi, kotlin serialization 두개를 사용하시던데 이유가 있으신가요?

1

749

1

EditText 는 kill 해도 값이 잘 저장되어있던데 혹시 제가 잘못테스트했을까요?

1

354

1

서버도 페이징 기능이 되는데 Paging 라이브러리가 필요할까요?

1

530

1

GSON 이 아닌 Moshi 를 사용하시는 이유가 있을까요?

1

1271

1

EditText 는 액티비티가 재생성되어도 값이 남아있던데 이유가 궁금해요

1

498

1

ViewModel 생성시 왜 초기값을 받지 않도록 했을까요?

1

438

1

Room DB에 id 항목 추가

0

255

1

안녕하세요. 용어에 대해 질문이 있어 글 남깁니다.

0

410

2