android 遍历对象集合,android-使用rxjava2遍历列表
我有一個自定義對象列表(List< Item> itemsList).這是我的自定義課程:
public class Item {
private String itemId;
private String itemName;
}
初始列表只有itemName; itemId將為空.我想遍歷列表,為每個項目添加一個itemId,然后使用新列表,我需要對列表中的每個項目進行某種長時間的操作.
for(Item item : itemsList){
item.setitemId = getUniqueId(); //getUniqueId() returns an unique id
doSomeLongOperation(item);
}
我是rxjava運算符的新手.請幫助我解決如何使用rxjava2實現相同的功能.
謝謝!
解決方法:
使用Observable.fromIterable可以迭代“列表”中的所有項目,并在后臺線程上進行訂閱以進行后臺工作,然后使用Map運算符更新您的項目并進行長時間的工作.完成后返回您需要的東西.
樣例代碼:
Observable.fromIterable(itemList)
.subscribeOn(Schedulers.io())
.map(new Function() {
@Override
public Item apply(Item item) throws Exception {
item.setItemId("Id: " + System.currentTimeMillis());
Log.i(TAG, "In Map Item: " + item.toString());
// do some long operation and return
return item;
}
})
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Consumer() {
@Override
public void accept(Item item) throws Exception {
Log.i(TAG, "Item: " + item.toString());
}
});
標簽:rx-java2,arraylist,rx-java,rx-android,android
來源: https://codeday.me/bug/20191025/1926387.html
總結
以上是生活随笔為你收集整理的android 遍历对象集合,android-使用rxjava2遍历列表的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android dialog 横向全屏,
- 下一篇: linux我ll查不到usr,Linux