描述
俩按钮 一个+1 另一个+2 点击后对标签内的数字进行累加,同时旋转 切屏后打开数据仍在,使用ViewModelProviders库

代码
MyViewModel.java
package com.example.viewmodeltest;
import androidx.lifecycle.ViewModel;
public class MyViewModel extends ViewModel {
public int number = 0;//初始化 只管理这一个数字 public 不用set get
}
MainActivity.java
package com.example.viewmodeltest;
import androidx.appcompat.app.AppCompatActivity;
import androidx.lifecycle.ViewModelProvider;
import androidx.lifecycle.ViewModelProviders;//注意是s 如果没有 需要手动添加库的支持
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
MyViewModel myViewModel;//创建对象
TextView textView;
Button button1, button2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myViewModel = ViewModelProviders.of(this).get(MyViewModel.class);
textView = findViewById(R.id.textView);
textView.setText(String.valueOf(myViewModel.number));//恢复及初始化
button1 = findViewById(R.id.button);
button2 = findViewById(R.id.button2);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
myViewModel.number++;
textView.setText(String.valueOf(myViewModel.number));
}
});
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
myViewModel.number += 2;
textView.setText(String.valueOf(myViewModel.number));
}
});
}
}
本文作者:Author: 寒光博客
文章标题:【Android】ViewModel数据分离小练习 从MVC到MVVM
本文地址:https://dxoca.cn/StudyNotes/327.html 百度已收录
版权说明:若无注明,本文皆为“Dxoca's blog (寒光博客)”原创,转载请保留文章出处。
本文地址:https://dxoca.cn/StudyNotes/327.html 百度已收录
版权说明:若无注明,本文皆为“Dxoca's blog (寒光博客)”原创,转载请保留文章出处。
providers不能用了呀