title: RxJava/RxAndroid - handle multiple EditText changes
body: <p>I have 3 EditText fields and I have created 3 observables for these fields.</p>
  
  <pre><code>    Observable&lt;CharSequence&gt; o1 = RxTextView.textChanges(field1);
      Observable&lt;CharSequence&gt; o2 = RxTextView.textChanges(field2);
      Observable&lt;CharSequence&gt; o3 = RxTextView.textChanges(field3);
  </code></pre>
  
  <p>I want to enable a button when all these three fields has some value in it. user can enter values in any order in the fields. How can i do that?</p>
  
  <h1>EDIT</h1>
  
  <p>I used zip to achieve that. </p>
  
  <pre><code>Observable&lt;CharSequence&gt; o1 = RxTextView.textChanges(field1);
  Observable&lt;CharSequence&gt; o2 = RxTextView.textChanges(field2);
  Observable&lt;CharSequence&gt; o3 = RxTextView.textChanges(field3);
  Observable.zip(o1, o2, o3, (c1, c2, c3) -&gt; c1.length() &gt; 0 &amp;&amp; c2.length() &gt; 0 &amp;&amp; c3.length() &gt; 0).subscribe(myButton::setEnabled)
  </code></pre>
  
  <p>this above case works when i enter something in all three text fields. e.g. i entered 1 character in all three text fields then the button will be enabled. But when I delete a character in any of the three fields. zip will not get called as it will be waiting for the other 2 textfields to stream some data before it calls onNext on the subscriber. so when I delete any character in any textfield I want my button to get disabled again. How can I achieve that?</p>