Android:Transformations.switchMap在快速调用时未被触发
创始人
2024-10-06 05:00:20
0

在使用Transformations.switchMap时,建议在ViewModel中调用数据源,例如LiveData和Repository。如果在Activity或Fragment中直接调用,可能会出现数据刷新不及时的问题。另外,可以使用.postDelayed()方法为数据更新设置延迟时间。

以下是一个简化的示例:

ViewModel中的代码:

public LiveData> getNewsList() {
    if (mNewsList == null) {
        mNewsList = new MutableLiveData<>();
        mNewsList = Transformations.switchMap(mCategory, category -> {
            return mNewsRepository.getNewsList(category);
        });
    }
    return mNewsList;
}

public void setCategory(String category) {
    mCategory.setValue(category);
}

Activity中的代码:

viewModel.setCategory("science");
new Handler().postDelayed(new Runnable() {
    @Override
    public void run() {
        viewModel.getNewsList().observe(MainActivity.this, newsList -> {
            adapter.setData(newsList);
        });
    }
}, 500);

在ViewModel中调用LiveData和Repository,然后使用.postDelayed()方法来延迟处理数据更新操作,可以解决SwitchMap不工作的问题。

相关内容

热门资讯

黑科技技巧!微乐小程序免费黑科... 黑科技技巧!微乐小程序免费黑科技,微信小程序微乐自建房脚本下载(透视)本来存在有辅助器(哔哩哔哩)运...
透视操作!wepoker轻量版... 透视操作!wepoker轻量版透视系统(WePoKer插件)都是真的是有辅助软件(哔哩哔哩)透视操作...
第三方插件!微乐小程序黑科技,... 第三方插件!微乐小程序黑科技,微乐福建辅助器(透视)切实真的有辅助app(哔哩哔哩)亲,关键说明,透...
透视技法!hhpoker辅助软... 透视技法!hhpoker辅助软件下载(WPK软件)好像有辅助软件(哔哩哔哩)1、下载好hhpoker...
最终!微乐小程序免费黑科技,微... 最终!微乐小程序免费黑科技,微信小程序微乐辅助免费版(透视)总是真的有辅助器(哔哩哔哩);1、全新机...
透视绝活儿!德普之星透视辅助软... 透视绝活儿!德普之星透视辅助软件是真的吗(WePoKerplus)竟然真的有辅助攻略(哔哩哔哩)1、...
据公告内容!微乐小程序黑科技免... 据公告内容!微乐小程序黑科技免费,微乐山西脚本插件(透视)都是是有辅助攻略(哔哩哔哩)1、任何透视是...
透视法门!wepokerplu... 透视法门!wepokerplus作必弊(AApoker插件)一直有辅助攻略(哔哩哔哩)1、下载好we...
透视秘籍!wepoker辅助器... 透视秘籍!wepoker辅助器如何使用(WePoKer透视)一直真的有辅助神器(哔哩哔哩)1、玩家可...
第三方辅助!微乐小程序黑科技免... 第三方辅助!微乐小程序黑科技免费,微乐贵阳足鸡麻将开挂(透视)一贯是真的辅助插件(哔哩哔哩)1、操作...