• 카테고리

    질문 & 답변
  • 세부 분야

    모바일 앱 개발

  • 해결 여부

    미해결

viewModel 질문 있습니다.

21.01.05 18:03 작성 조회수 247

0

MainViewModel에 private로 변수를 선언했을 때 MainActivity에서 viewModel의 변수를 변경하라면 java에서 처럼 getter, setter 메서드 만들어 사용하면 되나요?

만약 아니라면 코틀린에선 getter, setter 사용하는 방식이 따로 있는지 또는 ViewModelFactory를 만들어야 하는지 궁금합니다.

  

답변 1

답변을 작성해보세요.

1

private인 viewModel 내부의 변수를 조작하려면 getter / setter 메서드를 만드셔서 하시면 됩니다

코틀린에서 다음처럼 외부에서는 조작이 안 되도록 프로퍼티를 외부에 제공하거나 합니다.

private val _diaryItems = MutableLiveData<List<DiaryItem>>()
val diaryItem: LiveData<List<DiaryItem>> get() = _diaryItems