public class UserViewModel extends ViewModel {
private MutableLiveData<User> userLiveData = new MutableLiveData<>();
public LiveData<User> getUserLiveData() {
return userLiveData;
}
public void fetchUser() {
User user = new User("John", "Doe");
userLiveData.postValue(user);
}
}
public class MainActivity extends AppCompatActivity {
private TextView userNameTextView;
private UserViewModel userViewModel;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
userNameTextView = findViewById(R.id.user_name_text_view);
userViewModel = ViewModelProviders.of(this).get(UserViewModel.class);
userViewModel.getUserLiveData().observe(this, new Observer<User>() {
@Override
public void onChanged(User user) {
userNameTextView.setText(user.getFullName());
}
});
userViewModel.fetchUser();
}
}