亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

無法創建 com.example.architectureexample.NoteViewModel

無法創建 com.example.architectureexample.NoteViewModel

拉丁的傳說 2023-08-04 15:42:03
每次我運行我的應用程序時,它都會在標題中顯示此錯誤,并且我已經搜索了一些問題,有人說將 ViewModel 構造函數公開,而我的是公開的,其他人則說:從 HomeViewModel 中刪除 Context 上下文和 LifecycleOwnerlifecycleOwner 構造函數參數,或者創建一個可以構建 HomeViewModel 實例的 ViewModelProvider.Factory ,并將該工廠與 ViewModelProviders.of() 一起使用我已經提出了兩種解決方案,但仍然遇到相同的錯誤主要活動package com.example.architectureexample;import androidx.appcompat.app.AppCompatActivity;import androidx.lifecycle.Observer;import androidx.lifecycle.ViewModelProvider;import androidx.lifecycle.ViewModelProviders;import android.os.Bundle;import android.widget.Toast;import java.util.List;public class MainActivity extends AppCompatActivity {//    5th video    private NoteViewModel noteViewModel;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        noteViewModel = ViewModelProviders.of(this).get(NoteViewModel.class);        noteViewModel.getAllNotes().observe(this, new Observer<List<Note>>() {            @Override            public void onChanged(List<Note> notes) {//                update recycleView                Toast.makeText(MainActivity.this, "onChanged", Toast.LENGTH_SHORT).show();            }        });    }}
查看完整描述

2 回答

?
回首憶惘然

TA貢獻1847條經驗 獲得超11個贊

您的數據庫從未初始化。

instance!=null應該是instance==null。


查看完整回答
反對 回復 2023-08-04
?
www說

TA貢獻1775條經驗 獲得超8個贊

我也遇到了同樣的問題,因為 ViewModelProviders 已被棄用。所以我用過:

NoteViewModel viewModel = new ViewModelProvider.AndroidViewModelFactory(getApplication()).create(NoteViewModel.class);



查看完整回答
反對 回復 2023-08-04
  • 2 回答
  • 0 關注
  • 148 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號