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不工作的问题。

相关内容

热门资讯

第十分钟辅助!pokemmo脚... 第十分钟辅助!pokemmo脚本辅助器下载,菠萝辅助器免费版的功能介绍,经验教程(有挂教程)1)菠萝...
7分钟辅助!wepoker透视... 7分钟辅助!wepoker透视有没有,wepoker轻量版透视,妙计教程(有挂功能)1、每一步都需要...
6分钟辅助!德普之星怎么开辅助... 6分钟辅助!德普之星怎么开辅助,wepoker脚本下载,项目教程(真实有挂)1、玩家可以在德普之星怎...
第五分钟辅助!aapoker怎... 第五分钟辅助!aapoker怎么设置提高好牌几率,如何下载wpk透视版,演示教程(有挂方针)1、aa...
第8分钟辅助!wpk安卓下载辅... 第8分钟辅助!wpk安卓下载辅助,哈糖大菠萝怎么挂,经验教程(有挂方法)哈糖大菠萝怎么挂破解侠是真的...
第三分钟辅助!hhpoker免... 第三分钟辅助!hhpoker免费辅助器,aapoker辅助软件合法吗,烘培教程(有挂神器)一、aap...
第二分钟辅助!wepoker插... 第二分钟辅助!wepoker插件功能辅助器,wepoker私人局透视插件,妙招教程(有挂细节)1、金...
六分钟辅助!wepoker透视... 六分钟辅助!wepoker透视是真的吗,wpk俱乐部辅助器,阶段教程(发现有挂)1、wepoker透...
第四分钟辅助!wepoker有... 第四分钟辅助!wepoker有没有透视方法,wepoker有机器人吗,妙计教程(有挂攻略)1、用户打...
第3分钟辅助!hh poker... 第3分钟辅助!hh poker透视器下载,德普之星透视,技法教程(有挂功能)在进入hh poker透...