title: TextWatcher afterTextChanged causes stackoverflow in android
body: <p>I have a method <code>drawItems()</code> which everytime creates a new layout and sets it as a <code>contentView</code>. And I also have a control <code>EditText</code> which should remove other elements when it's content is changed. </p>
  
  <pre><code>edit.addTextChangedListener(new TextWatcher() {
  
                      public void afterTextChanged(Editable s) {
                          currentText = s.toString();
                          drawItems();
                      }
  
                      public void beforeTextChanged(CharSequence s,
                              int start, int count, int after) {
                      }
  
                      public void onTextChanged(CharSequence s, int start,
                              int before, int count) {
                      }
                  });
  </code></pre>
  
  <p>What I want to do is save its current text, remove all elements and leave only this <code>EditText</code> with the <code>saved string</code>. When I'm trying to run this application the error raised is StackOverflow because it renders <code>drawItems</code> method infinite number of times. Why does it render drawItems within <code>afterTextChanged</code> even if I don't change its content? It's rendered even before the whole page is loaded. </p>