안드로이드

(Android) EditText data binding

danune.dev 2022. 6. 10. 20:01

EditText의 text 속성을 바인딩 하는 방법입니다 

 

두가지의 바인딩을 생각해볼 수 있는데요 

  • 단방향 바인딩 - 코드의 값이 변경되면 UI에 반영됨
  • 양방향 바인딩 - UI에서 입력한 값이 코드값에도 반영됨

두가지를 각각 알아보겠습니다 

 

1. 단방향 바인딩

EditText의 text속성을 viewModel의 text 에 바인딩하였습니다 

이렇게 바인딩하면 viewModel의 text값이 변경되었을 때 EditText의 text도 함께 변경됩니다

하지만 EditText에 문자를 입력한다고 해서 viewModel의 text값이 변경되지는 않습니다 

 

2. 양방향 바인딩

단방향 바인딩과 다른점을 찾았나요? text속성에 바인딩할때 =가 추가되었습니다

android:text="@={viewModel.text}"

이제 EditText에 문자를 입력하면, 입력한 값이 viewModel의 text에 반영됩니다