Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- MutableLiveData<List<Integer>> src = new MutableLiveData<>();
- List<Integer> value = new ArrayList<>();
- for (int i = 0; i < 10; i++) {
- value.add(i * 2);
- }
- src.setValue(value);
- LiveData<List<String>> dst = Transformations.switchMap(src, input -> {
- final MutableLiveData<List<String>> mld = new MutableLiveData<>();
- new Thread() {
- @Override
- public void run() {
- Log.d(TAG, "run " + Thread.currentThread());
- try {
- Thread.sleep(3000);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- List<String> list = new ArrayList<>();
- for (Integer i : input) {
- list.add("-- " + i + " --");
- }
- Log.d(TAG, "run " + Thread.currentThread() + " " + list);
- mld.postValue(list);
- }
- }.start();
- return mld;
- });
- dst.observe(this, strings -> {
- Log.d(TAG, "onCreate " + Thread.currentThread() + " " + strings);
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement