viewModel 有點像是類的實例化
Viewtest類
package com.example.viewtest01;
import androidx.lifecycle.ViewModel;
public class Viewtest extends ViewModel {
public int number = 0;
}
activity
package com.example.viewtest01;
import androidx.appcompat.app.AppCompatActivity;
import androidx.lifecycle.ViewModelProvider;
import androidx.lifecycle.ViewModelProviders;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
Viewtest myViewmodel;
TextView textview;
Button button1;
Button button2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myViewmodel = ViewModelProviders.of(this).get(Viewtest.class);//實例化
button1 = findViewById(R.id.button);
button2 = findViewById(R.id.button2);
textview = findViewById(R.id.text01);
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));
}
});
}
}
測試效果