首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >android等待协同过滤完成

android等待协同过滤完成
EN

Stack Overflow用户
提问于 2022-01-03 13:34:13
回答 1查看 342关注 0票数 0

我有下一个代码:

代码语言:javascript
复制
 private fun filterCarouselItems(loggedInFilter: Boolean) {

    CoroutineScope(Dispatchers.IO).launch {
        if (loggedInFilter)
            filteredCarouselItems = carouselItems.filter {
                it.visible == CarouselVisibilityEnum.LOGGEDIN.visibility
                        || it.visible == CarouselVisibilityEnum.BOTH.visibility
            } as ArrayList<CarouselItem>
        else {
            filteredCarouselItems = carouselItems.filter {
                it.visible == CarouselVisibilityEnum.LOGGEDOUT.visibility
                        || it.visible == CarouselVisibilityEnum.BOTH.visibility
            } as ArrayList<CarouselItem>
        }

        withContext(Dispachers.Main) {
        notifyDataSetChanged()
    }
    }
}

我希望我的代码按顺序执行。这样,我的意思是希望函数完成筛选,然后调用notifyDataSetChanged方法。通过使用协同(而不阻塞UI/主线程)来实现这一点的最佳方法是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-03 18:59:39

请注意,从后台线程调用notifyDataSetChanged()没有任何效果。

代码语言:javascript
复制
private fun filterCarouselItems(loggedInFilter: Boolean) {
    CoroutineScope(Dispatchers.IO).launch {
        if (loggedInFilter)
            filteredCarouselItems = carouselItems.filter {
                it.visible == CarouselVisibilityEnum.LOGGEDIN.visibility
                        || it.visible == CarouselVisibilityEnum.BOTH.visibility
            } as ArrayList<CarouselItem>
        else {
            filteredCarouselItems = carouselItems.filter {
                it.visible == CarouselVisibilityEnum.LOGGEDOUT.visibility
                        || it.visible == CarouselVisibilityEnum.BOTH.visibility
            } as ArrayList<CarouselItem>
        }
        // add this line 
        withContext(Dispachers.Main) {
            notifyDataSetChanged()
        }
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70566568

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档