gpt4 book ai didi

java - 字符串值是如何传递给 updateText() 方法的?

转载 作者:行者123 更新时间:2023-11-29 02:36:20 25 4
gpt4 key购买 nike

第一次使用 RxJava,我创建了一个 Rx 链来监听 String 对象状态的变化:

 observable=Observable
.defer(new Callable<ObservableSource<String>>() {
@Override
public ObservableSource<String> call() throws Exception {
return(Observable.just(query()));
}
})
.subscribeOn(Schedulers.io())
.map(this::prettify)
.observeOn(AndroidSchedulers.mainThread())
.cache();

这里美化是:

private String prettify(String raw) {
Gson gson=new GsonBuilder().setPrettyPrinting().create();
JsonElement json=new JsonParser().parse(raw);

return(gson.toJson(json));
}

现在,我为 observable 创建了一个订阅者:

sub=observable.subscribe(
this::updateText,
error -> Toast
.makeText(getActivity(), error.getMessage(), Toast.LENGTH_LONG)
.show()
);

但我无法理解的是值是如何传递给 updateText 方法的:

private void updateText(String text) {
((TextView)getView().findViewById(R.id.result)).setText(text);
}

updateText 方法很简单,但我的问题是它如何获取 String 值?对此的任何帮助将不胜感激。

最佳答案

这只是lambda表达式

sub=observable.subscribe(
this::updateText,
error -> Toast
.makeText(getActivity(), error.getMessage(), Toast.LENGTH_LONG)
.show()
);

this::updateText 中调用了你的方法 updateText(String text)

实物加长版的样子.subscribe( result -> updateText(result), ....

关于java - 字符串值是如何传递给 updateText() 方法的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46843987/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com