title: Detect if content of EditText was changed by user or programmatically?
body: <p>I would need a way to detect if the EditText has been changed by the user typing something or by the app changing the text programmatically. Any standard way of doing this? I guess I could always do something hackish like unsetting the TextWatcher before <code>setText()</code> and setting it back again afterwards, but there's got to be a better way of doing this... right?</p>
  
  <p>I tried checking if the EditText is focused in the TextWatcher, but that was of little help since the EditTexts gets focused "semi-randomly" anyway when scrolling...</p>
  
  <p>&nbsp;</p>
  
  <p><strong>Background</strong></p>
  
  <p>I have a ListView with EditTexts in every listitem. I've sorted out the basic problem of storing the values for the EditTexts for reuse when the user scrolls. </p>
  
  <p>I also have a TextWatcher that sums up the values in all EditTexts and displays the sum when the user edits the content of any of the EditTexts.</p>
  
  <p>The problem is that when I'm scrolling the list and my custom adapter is reentering the stored values in the EditTexts on <code>bindView()</code>, that also triggers the TextWatchers <code>afterTextChanged()</code> method, causing the scrolling to lag because the summing-up-function is triggered.</p>