小编Tee*_*i.P的帖子

如何使用 Rx Java 更新链请求上的 UI

我想根据链请求更新 UI 2 次。

请求getUserByID()完成后首先更新 UI 。第二次getParentName()完成但是当我尝试在第一个请求时更新 UI 并获得线程问题的错误原因时。

我不知道如何解决这个问题。

示例代码

API.getUserByID("USER ID")
        .flatMap(user-> {
            // How to update UI here?
            return API.getParentName(user.getId()))
        })
        .subscribeOn(Schedulers.io())
        .observeOn(AndroidSchedulers.mainThread())
        .subscribe(parent-> {
            // It's ok to update UI cause of on main thread.
            parentTextView.setText(parent.getName())
        });
Run Code Online (Sandbox Code Playgroud)

谢谢你。

java rx-java retrofit rx-android

2
推荐指数
1
解决办法
2521
查看次数

变量应该在循环内部还是外部声明?

我想知道应该使用以下哪个:

String s = "";
List<String> list = new List<String>();
for(int i=0; i<100; i++){
    s = list.get(i);
    list.add(s);
}
Run Code Online (Sandbox Code Playgroud)

要么

List<String> list = new List<String>();
for(int i=0; i<100; i++){
    String s = list.get(i);
    list.add(s);
}
Run Code Online (Sandbox Code Playgroud)

java loops

1
推荐指数
1
解决办法
1848
查看次数

标签 统计

java ×2

loops ×1

retrofit ×1

rx-android ×1

rx-java ×1