Я получил повторный просмотр различных продуктов, и у каждого из них есть текст редактирования количества, когда я ввожу количество одного продукта, не только заполняющего текст редактирования, но и каждого дополнительного количества, кратного 11.
например: Я пишу в редактируемом тексте 1-й статьи, будет написано такое же количество и те же эффекты будут в статьях 11 и 22 ... как на картинках. Это то, что я ввожу в 1-й текст редактирования это то, что я нашел в 11-й статье
это класс статьи
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é;
}
}
это активность
articles = new ArrayList<>();
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);
и мой адаптер
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.MyHolder> {
private ArrayList<Article> 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<Article> 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();
}
}