【问题标题】:Problem initializing ViewModel instance using ViewModelProvider(this)使用 ViewModelProvider(this) 初始化 ViewModel 实例时出现问题
【发布时间】:2020-08-17 02:27:41
【问题描述】:

我正在实例化 ViewModel 类实例,但它没有采用参数 this。请看我的代码。 它是一个简单的代码,因为我正在尝试学习 ViewModel 和 LiveData

我搜索过,但到处都给出了 ViewModelProviders 的解释 请帮忙解决

package com.nitin.viewmodellivedata;

import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.lifecycle.ViewModel;
import androidx.lifecycle.ViewModelProvider;
import androidx.lifecycle.ViewModelStoreOwner;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

    TextView textView;
    Button buttonAdd;
    Button buttonReset;
    int score;
    ScoreViewModel scoreViewModel = new ViewModelProvider(ScoreViewModel);

    public void addScore(View view){
        scoreViewModel.addScore();
        textView.setText(String.valueOf(scoreViewModel.getScore()));
    }

    public void resetScore(View view){
        scoreViewModel.resetScore();
        textView.setText(String.valueOf(scoreViewModel.getScore()));
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        textView = (TextView)findViewById(R.id.textView);

        scoreViewModel = new ScoreViewModel();
        scoreViewModel = new ViewModelProvider(this).get(ScoreViewModel.class);

        textView.setText(String.valueOf(scoreViewModel.getScore()));
    }
}

【问题讨论】:

    标签: android viewmodel android-lifecycle


    【解决方案1】:

    确保您的 build.gradle (:app) 文件中有两个依赖项:

    implementation 'androidx.appcompat:appcompat:1.1.0'
    implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
    

    【讨论】:

    • 我有第一个依赖项,但我添加了第二个依赖项,现在它工作正常.. 感谢您的快速帮助
    猜你喜欢
    • 2021-03-28
    • 2011-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-13
    • 1970-01-01
    • 2019-10-30
    相关资源
    最近更新 更多