import androidx.lifecycle.Lifecycle;
import androidx.lifecycle.LifecycleObserver;
import androidx.lifecycle.OnLifecycleEvent;
import androidx.lifecycle.ViewModel;
public class MyActivity extends AppCompatActivity {
private MyViewModel myViewModel;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myViewModel = new ViewModelProvider(this).get(MyViewModel.class);
myViewModel.getData().observe(this, new Observer<String>() {
@Override
public void onChanged(String data) {
}
});
}
@Override
protected void onStart() {
super.onStart();
myViewModel.startLoadingData();
}
@Override
protected void onStop() {
super.onStop();
myViewModel.stopLoadingData();
}
public static class MyViewModel extends ViewModel implements LifecycleObserver {
private MutableLiveData<String> data = new MutableLiveData<>();
private boolean isLoadingData = false;
public LiveData<String> getData() {
return data;
}
public void startLoadingData() {
isLoadingData = true;
}
public void stopLoadingData() {
isLoadingData = false;
}
@OnLifecycleEvent(Lifecycle.Event.ON_START)
public void onStart() {
if (isLoadingData) {
}
}
@OnLifecycleEvent(Lifecycle.Event.ON_STOP)
public void onStop() {
}
}
}