title: listView with editText - TextWatcher reloading view
body: <p>I've coded a <code>ListView</code> with some <code>TextView</code> and an <code>EditText</code>. This one has a <code>TextWatcher</code> which in <code>afterTextChange()</code> method add an instance to a sigleton class. All it's ok, but when I'm scrolling the <code>ListView</code> and I'm modifying value of an <code>EditText</code>, <code>ListView</code> is reloaded and scroll bar is returned on top.
  It's a normal feedback or I can control this behavior?</p>
  
  <p><strong>PART OF TEXTWATCHER</strong></p>
  
  <pre><code>@Override
      public void afterTextChanged(Editable s) {
          if(!s.toString().isEmpty()){ 
              if (Integer.parseInt(s.toString())!=0){
  
                  HashMap&lt;Products, Integer&gt; into=new HashMap&lt;Products,Integer&gt;();
                  Products pr = new Products();
                  into = cart.getProdotti();
                  pr.set_id(Integer.parseInt(pro.get("id").toString()));
                  pr.setPrezzo(Double.parseDouble(pro.get("prezzo").toString()));
                  pr.setNome(pro.get("nome").toString());
                  boolean flag = false;
                  if(!into.isEmpty()){
                      Iterator&lt;Products&gt; iter = into.keySet().iterator();
                      while(iter.hasNext()){
                          if(pr.get_id()==iter.next().get_id()){
                              into.put(pr, Integer.parseInt(s.toString()));
                              cart.setProdotti(into);
                              flag = true;
                          }                       
                      }
                      if(flag==false){
                          into.put(pr, Integer.parseInt(s.toString()));
                          cart.setProdotti(into);
                      }
                  }else{
                      into.put(pr, Integer.parseInt(s.toString()));
                      cart.setProdotti(into);
                  }
              }
          }
      }
  </code></pre>
  
  <p>GETVIEW of ADAPTER</p>
  
  <pre><code>@Override
      public View getView(int position, View convertView, ViewGroup parent) {
          View vi=convertView;
          if(convertView==null)
              vi = inflater.inflate(R.layout.product_row, null);
  
          TextView nome = (TextView)vi.findViewById(R.id.nomeProdotto); // title
          TextView descrizione = (TextView)vi.findViewById(R.id.descrizioneProdotto); // artist name
          TextView prezzo = (TextView)vi.findViewById(R.id.prezzoProdotto); // duration
          //ImageView thumb_image=(ImageView)vi.findViewById(R.id.list_image); // thumb image
          final EditText quantity = (EditText)vi.findViewById(R.id.quantity);
  
  
          product = products.get(position);
  
  
          nome.setText(product.get("nome"));
          descrizione.setText(product.get("descrizione"));
          prezzo.setText("€"+product.get("prezzo"));
          quantity.setText("0");
          quantity.addTextChangedListener(new CustomTextWatcher(products.get(position)));
          //imageLoader.DisplayImage(song.get(CustomizedListView.KEY_THUMB_URL), thumb_image);
          return vi;
      }
  </code></pre>