寒光博客

【Android】ViewModel数据分离小练习 从MVC到MVVM
描述 俩按钮 一个+1 另一个+2 点击后对标签内的数字进行累加,同时旋转 切屏后打开数据仍在,使用ViewMod...
扫描右侧二维码阅读全文
20
2020/03

【Android】ViewModel数据分离小练习 从MVC到MVVM

描述

俩按钮 一个+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 (寒光博客)”原创,转载请保留文章出处。
Last modification:March 21st, 2020 at 10:36 am
如果觉得我的文章对你有用,请随意赞赏

Leave a Comment

One comment

  1. abc Edge 83.0.478.54 Windows 10 中国 湖南 岳阳

    providers不能用了呀