title: RecyclerView effect on multiple rows when it supposed to affect only one
body: <p>i got recyclerview of different products and each one has edittext of quantity, when i enter the quantity of one product not only that edittext filling up, but every additional multiple of 11 filling up.</p>
  
  <p>for example: i write in the edittext of the 1st article ,the same quantity will be writen and the same effects will happen in the article 11 and 22... like in the pics.
  <a href="https://i.stack.imgur.com/2bA4g.jpg" rel="nofollow noreferrer">This is what I enter in the 1st edittext</a>
  <a href="https://i.stack.imgur.com/Ig8Vk.jpg" rel="nofollow noreferrer">this is what i found in the 11th article</a></p>
  
  <p>this is the article class</p>
  
  <pre><code>public class Article {
  public String désignation;
  public int colis;
  public double prix_unité;
  
  public Article(String désignation, int colis, double prix_unité) {
      this.désignation = désignation;
      this.colis = colis;
      this.prix_unité = prix_unité;
  }
  </code></pre>
  
  <p>}</p>
  
  <p>this is the acitivity </p>
  
  <pre><code>articles = new ArrayList&lt;&gt;();
      CreateArticles();
  
      fab = findViewById(R.id.add);
      linearLayout = findViewById(R.id.total);
      total_global = findViewById(R.id.prix_global);
      prix_global = 0;
  
      recyclerView = this.findViewById(R.id.recycler_view);
      recyclerView.setLayoutManager(new LinearLayoutManager(this));
      adapter = new MyAdapter(this, articles);
      recyclerView.setAdapter(adapter);
  </code></pre>
  
  <p>and the my adapter</p>
  
  <pre><code>public class MyAdapter extends RecyclerView.Adapter&lt;MyAdapter.MyHolder&gt; {
  private ArrayList&lt;Article&gt; articles;
  private Context context;
  
  public static class MyHolder extends RecyclerView.ViewHolder{
  
      TextView désignation;
      TextView colis;
      TextView prix_unité;
      TextView total;
      EditText quant;
  
  
      public MyHolder(@NonNull View itemView) {
          super(itemView);
          désignation = itemView.findViewById(R.id.item_désignation);
          colis = itemView.findViewById(R.id.item_colis);
          prix_unité = itemView.findViewById(R.id.item_prix_unité);
          total = itemView.findViewById(R.id.item_total);
          quant = itemView.findViewById(R.id.item_quant);
      }
  }
  
  public MyAdapter(Context context, ArrayList&lt;Article&gt; articles) {
      this.context = context;
      this.articles = articles;
  }
  
  @NonNull
  @Override
  public MyHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
      return new MyHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.list_item, parent, false));
  }
  
  @Override
  public void onBindViewHolder(@NonNull final MyHolder holder, final int position) {
      holder.désignation.setText(articles.get(position).désignation);
      if (articles.get(position).désignation.equals("")) {
          holder.colis.setText("");
          holder.prix_unité.setText("");
          holder.quant.setVisibility(View.INVISIBLE);
      } else {
          holder.colis.setText("" + articles.get(position).colis);
          holder.prix_unité.setText("" + articles.get(position).prix_unité);
      }
  
      holder.quant.addTextChangedListener(new TextWatcher() {
          @Override
          public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
              if (!holder.quant.getText().toString().equals("")) {
                  int col = articles.get(position).colis;
                  double pu = articles.get(position).prix_unité;
                  int qua = Integer.parseInt(holder.quant.getText().toString());
                  double result = col * qua * pu;
                  MainActivity.prix_global -= result;
              }
          }
  
          @RequiresApi(api = Build.VERSION_CODES.M)
          @Override
          public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
  
          }
  
          @RequiresApi(api = Build.VERSION_CODES.M)
          @Override
          public void afterTextChanged(Editable editable) {
              if (holder.quant.getText().toString().equals("")) {
                  holder.total.setText("");
                  holder.désignation.setTextColor(context.getColor(android.R.color.darker_gray));
                  holder.colis.setTextColor(context.getColor(android.R.color.darker_gray));
                  holder.prix_unité.setTextColor(context.getColor(android.R.color.darker_gray));
              } else {
                  int col = articles.get(position).colis;
                  double pu = articles.get(position).prix_unité;
                  int qua = Integer.parseInt(holder.quant.getText().toString());
                  double result = col * qua * pu;
                  holder.total.setText("" + result);
  
                  holder.désignation.setTextColor(Color.BLACK);
                  holder.colis.setTextColor(Color.BLACK);
                  holder.prix_unité.setTextColor(Color.BLACK);
  
                  MainActivity.prix_global += result;
              }
              MainActivity.Total();
          }
  
      });
  }
  
  @Override
  public int getItemCount(){
      return articles.size();
  }
  </code></pre>
  
  <p>}</p>