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() { } } }


上一篇:
下一篇:
切换中文