Je't'Pack_viewModel+liveData

2020-08-26  本文已影响0人  遇见开始遇见

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);

    }

}

上一篇 下一篇

猜你喜欢

热点阅读