2017-04-16 54 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

非常感謝您的關注。 –