05-23 00:07
Notice
Recent Posts
Recent Comments
05-23 00:07
«   2025/05   »
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
Archives
Today
Total
관리 메뉴

pear

[android]data binding 1 - simple example EditText 본문

android/kotlin

[android]data binding 1 - simple example EditText

pearlab 2023. 6. 1. 16:54

simple data binding

https://developer.android.com/jetpack/androidx/releases/databinding

 

gradle

android {
    ...
    buildFeatures {
        dataBinding true
    }
}

 

Activity

//connect activity & binding & viewmodel

    class NameActivity : AppCompatActivity() {
    private val viewModel: ViewModel by viewModels()

//auto generate ActivityNameBinding
    private lateinit var binding : ActivityNameBinding

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        binding = DataBindingUtil.setContentView(this, R.layout.activity_name)
        binding.viewmodel = viewModel
        binding.lifecycleOwner = this
    }

 

 

ViewModel

class ViewModel() : ViewModel() {

 

//If want update view data then use LiveData

 

//EditText support String simple
    private val _text = MutableLiveData(String)
    val text: LiveData = _text

 

layout

    <data>
        <variable
            name="viewmodel"
            type="com.test.name.ViewModel" />
    </data>

<androidx.constraintlayout.widget.ConstraintLayout
...

//simple '{data}'

                    <EditText
                        android:text='@{viewmodel.text}'
                    />