无法创建类的实例 - ViewModel kotlin

时间:2021-04-07 19:14:11

标签: android kotlin mvvm viewmodel

我有蜜蜂练习 Kotlin mvvm 并且在创建视图模型时出现错误,我看到很多堆栈溢出解决方案但找不到解决方案

<块引用>

无法创建类的实例 - 视图模型

这是我的模型类

public class MainViewModel(application: Application,
                           
                          
) :  AndroidViewModel(application) {


    fun first(): LiveData<Boolean> {
        return database
                .locationDao()
                .getLocationFlow()
                .flowOn(Dispatchers.IO)
                .map {

                    when {
                        it.isEmpty() -> {
                            true
                        }
                        else -> false
                    }
                }.asLiveData()
    }
}

主活动

<块引用>

class MainActivityK : AppCompatActivity() {

lateinit var viewModel:MainViewModel

oncreate 方法

override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        LocalUtil.setLocal(this)
        mainBinding = ActivityMainKBinding.inflate(layoutInflater)
        setContentView(mainBinding.root)
        viewModel=ViewModelProvider(this).get(MainViewModel::class.java)

谢谢。

1 个答案:

答案 0 :(得分:0)

您应该像这样获得 MainViewModel:

 viewModel = ViewModelProvider(this, ViewModelProvider.AndroidViewModelFactory.getInstance(this.getApplication())).get(MainViewModel::class.java)

代替

viewModel=ViewModelProvider(this).get(MainViewModel::class.java)