【发布时间】: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