Skip to content

gzeinnumer/ViewModelLiveDataExampleKT

Repository files navigation

ViewModelLiveDataExampleKT

LiveData KTX

  • Add dependencies on Gradle
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.2.0"
implementation "androidx.activity:activity-ktx:1.1.0"
implementation "androidx.fragment:fragment-ktx:1.2.5"
  • Make Class MainVM.
class MainVM: ViewModel(){

    val currentName: MutableLiveData<String> by lazy {
        MutableLiveData<String>()
    }
    
}
  • Use ViewModel on activity
class MainActivity : AppCompatActivity() {

    private val TAG = "MainActivity"

    // Use the 'by viewModels()' Kotlin property delegate
    // from the activity-ktx artifact
    private val model: MainVM by viewModels()

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        model.currentName.value = "Hallo GZeinNumer"

        model.currentName.observe(this, Observer {
            Log.d(TAG, "onCreate: $it")
        })
    }
}

Copyright 2020 M. Fadli Zein

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages