我有一个RecycleView,我想循环遍历RecycleView中的所有行,以找到尚未将项目插入MySQL数据库的行。如果互联网连接可用,我想自动将它们上传到数据库中。如果上传成功,我想将状态更改为已插入。我该怎么做?
-------------------------
*Item* | *Status* |
-------------------------
Apple | Not Inserted |
-------------------------
Egg | Inserted |
-------------------------
Orange| Not Inserted |
-------------------------
答案 0 :(得分:1)
您必须将SortWords.sort(SingletonText.getInstance().getText().toString(), "^[AEIOUaeiou].*", "Vowel");
SortWords.sort(SingletonText.getInstance().getText().toString(), "^[A-Za-z].*", "firstletter");
与presentation
分开。您的business logic
责任只是显示您的recyclerView's
。因此,您只需更改data model
并要求data model
更新recyclerView
即可。因此,您必须遍历UI
而不是data model
行。
解决方案:
您可以循环浏览recyclerView
所拥有的所有data models
,然后将其放入adapter
并逐个上传。
例如,您可以将queue
传递给queue
并开始上传。完成后,您可以使用intentService
,activity
,fragment
通知eventBus
或Otto
。然后将数据模型状态更新为LocalBroadcast
并通知适配器您已完成。
但请注意,您的用户可以从该活动导航,以便将数据模型保存在数据库中,并加载和更新数据模型是最简洁的解决方案。