Je't'Pack_viewModel+liveData
1.封装viewModel
public class TestNameViewModelextends ViewModel {
private MutableLiveDataliveData;
public MutableLiveDatagetLiveData() {
if (liveData ==null) {
liveData =new MutableLiveData<>("danny");
}
return liveData;
}
}
2.在B acitivity 中 使用
public class NameActivityextends AppCompatActivity {
private TextViewtv_name;
private NameViewModelmodel;
private int i =0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_name);
tv_name = findViewById(R.id.tv_name);
model = ViewModelProviders.of(this).get(NameViewModel.class);
//需要一个观察者来观察数据
Observer observer =new Observer(){
@Override
public void onChanged(String s) {
tv_name.setText(s);
}
};
//订阅
model.getCurrentName().observe(this,observer);
}
public void click(View view){
String another ="Wuu"+(i++);
model.getCurrentName().setValue(another);
}
}