2017-04-16 82 views
3

我是RxJava的新手。使用RxJava遍历ViewGroup儿童

我已经建立这个解决方案通过ViewGroup每个孩子迭代:

LinearLayout layout = (LinearLayout) findViewById(R.id.my_layout); 
for (int i = 0; i < layout.getChildCount(); i++) { 
    View child = layout.getChildAt(i); 
    child.setEnabled(false); 
} 

,但我遇到了麻烦,将其转换为RxJava。

有人可以给我一个提示与描述吗?

在此先感谢。

+0

我想你是误会使用RxJava – GVillani82

+0

的u能PLZ形容吗? –

+0

你有使用RxJava迭代的原因吗? – GVillani82

回答

2

好吧,因为我读的Reactive Documentaion我发现range操作, 我想出的答案是这个样子,

 Observable.range(0, layout.getChildCount()) 
      .map(layout::getChildAt) 
      .subscribe(child -> child.setEnabled(false)); 
+0

这会导致一个异常,因为'Integer'不能被转换为'ViewGroup'。 – azizbekian

+0

这将按预期工作。 – azizbekian

+0

非常感谢您的关注。 –