groovy
implementation 'androidx.lifecycle:lifecycle-viewmodel:2.3.1'
implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.3.1'
public class MyViewModel extends ViewModel {
private MutableLiveData<Boolean> mIsDataLoaded = new MutableLiveData<>();
public LiveData<Boolean> getIsDataLoaded() {
return mIsDataLoaded;
}
public void loadData() {
// ...
mIsDataLoaded.setValue(true);
}
}
public class MyActivity extends AppCompatActivity {
private MyViewModel mViewModel;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mViewModel = ViewModelProvider(this).get(MyViewModel.class);
mViewModel.getIsDataLoaded().observe(this, new Observer<Boolean>() {
@Override
public void onChanged(Boolean isDataLoaded) {
if (isDataLoaded) {
// ...
}
}
});
}
}