在 AndroidViewModel 中使用 MutableLiveData 对象,并在其 setter 方法中更新值。然后在 Activity 中使用 observe 方法观察 MutableLiveData 对象。
示例代码:
在 AndroidViewModel 中声明 MutableLiveData 对象:
public class MyViewModel extends AndroidViewModel {
private MutableLiveData message;
public MyViewModel(Application application) {
super(application);
message = new MutableLiveData<>();
}
public MutableLiveData getMessage() {
return message;
}
public void setMessage(String message) {
this.message.setValue(message);
}
}
在 Activity 中观察 MutableLiveData 对象:
public class MyActivity extends AppCompatActivity {
private MyViewModel viewModel;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my);
viewModel = new ViewModelProvider(this).get(MyViewModel.class);
viewModel.getMessage().observe(this, new Observer() {
@Override
public void onChanged(String message) {
// do something with updated message
}
});
}
}