android viewmodel 带参数

需要实现 ViewModelProvider.Factory

class MyModel(val id: String) : ViewModel() {

    class ViewModeFactory(private val id: String) : ViewModelProvider.Factory {

        override fun <T : ViewModel?> create(modelClass: Class<T>): T {
            return MyModel(id) as T
        }

    }
}

 使用我们创建的model

val myModel = ViewModelProvider(this,
    MyModel.ViewModeFactory(id)
 )[MyModel::class.java]

 

posted @ 2020-06-06 15:46  荣超  阅读(2978)  评论(0编辑  收藏  举报