public class MyActivity extends AppCompatActivity implements LifecycleOwner { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); getLifecycle().addObserver(this); } } public class MyViewModel extends ViewModel { private MutableLiveData<String> data; public LiveData<String> getData() { if (data == null) { data = new MutableLiveData<>(); loadData(); } return data; } private void loadData() { } } public class MyActivity extends AppCompatActivity implements LifecycleOwner { 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) { } }); } } public class MyActivity extends AppCompatActivity implements LifecycleOwner, LifecycleObserver { // ... @OnLifecycleEvent(Lifecycle.Event.ON_START) public void startObserving() { myViewModel.getData().observe(this, new Observer<String>() { @Override public void onChanged(String data) { } }); } @OnLifecycleEvent(Lifecycle.Event.ON_STOP) public void stopObserving() { myViewModel.getData().removeObservers(this); } } public class MyActivity extends AppCompatActivity implements LifecycleOwner { private MyViewModel myViewModel; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); myViewModel = new ViewModelProvider(this).get(MyViewModel.class); // ... } }


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