Как получить полную сумму, добавив все ряды просмотров переработчиковAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как получить полную сумму, добавив все ряды просмотров переработчиков

Сообщение Anonymous »

У меня есть просмотр переработчика в моей деятельности, и ниже есть полное поле стоимости, которое показывает общее значение после добавления значений из каждой строки. Как показано на экране ниже:

В виде Recycler есть спиннер, который показывает, что такая же выбирает значение из Spinner, что будет, что будет, так же, как это будет, так же, как это будет, так же, как это будет, так же, как и то же самое, что -то в этом роде. Я хочу добавить это значение и хочу показать его в нижнем левом углу. Но каждый раз, когда я выбираю данные из другой строки, он не добавляет затрат с предыдущим значением, но заменяет более старое значение.

Код: Выделить всё

public class ProductAdapter extends RecyclerView.Adapter
 {

private Context context;
private List productList;

public ProductAdapter(Context context, List productList) {
this.context = context;
this.productList = productList;
}

@NonNull
@Override
public ProductAdapter.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {

View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.selectpack_layout,parent,false);

ViewHolder viewHolder = new ViewHolder(v);

return viewHolder;
}

@Override
public void onBindViewHolder(@NonNull final ProductAdapter.ViewHolder holder, int position) {

final ProductsModel model = productList.get(position);

holder.marketName.setText(model.getMarketName());
holder.productNo.setText(model.getProductNo());
holder.page.setText(model.getPage());
holder.mrp.setText(model.getMrp());
holder.innerPack.setText(model.getInnerPack());
holder.outerPack.setText(model.getOuterPack());

List qty = new ArrayList();
qty.add("Select qty");
qty.add("1");
qty.add("2");
qty.add("3");
qty.add("4");
qty.add("5");
qty.add("6");
qty.add("7");
qty.add("8");
qty.add("9");
qty.add("10");

ArrayAdapter dataAdapter = new ArrayAdapter(context, android.R.layout.simple_spinner_item, qty);

dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

holder.qtySpinner.setAdapter(dataAdapter);

holder.qtySpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {

@Override
public void onItemSelected(AdapterView adapterView, View view, int i, long l) {

int sum = 0;

String item = adapterView.getItemAtPosition(i).toString();

if (!item.equals("Select qty")) {

int qty = Integer.parseInt(item);

int cost = Integer.parseInt(model.getMrp());

int val = cost * qty;

holder.total.setText(String.valueOf(val));

Intent intent = new Intent("msg");
intent.putExtra("cost", String.valueOf(val));

LocalBroadcastManager.getInstance(context).sendBroadcast(intent);

}

}

@Override
public void onNothingSelected(AdapterView  adapterView) {

}
});
}

@Override
public int getItemCount() {
return productList.size();
}

public class ViewHolder extends RecyclerView.ViewHolder{

TextView  marketName,productNo,page,mrp,innerPack,outerPack,total;
Spinner qtySpinner;
Button order;

public ViewHolder(@NonNull View itemView) {
super(itemView);

order = itemView.findViewById(R.id.order);
qtySpinner = itemView.findViewById(R.id.qtySpinner);
marketName = itemView.findViewById(R.id.marketName);
productNo = itemView.findViewById(R.id.productNo);
page = itemView.findViewById(R.id.page);
mrp = itemView.findViewById(R.id.mrp);
innerPack = itemView.findViewById(R.id.innerPack);
outerPack  = itemView.findViewById(R.id.outerPack);
total = itemView.findViewById(R.id.total);
}
}
}
selectpack.java

Код: Выделить всё

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_select_pack);

fAuth = FirebaseAuth.getInstance();

ActionBar ab = getSupportActionBar();
assert ab!= null;
ab.setTitle("Select Pack");
ab.setDisplayHomeAsUpEnabled(true);

marketSpinner = findViewById(R.id.marketSpinner);
progress = findViewById(R.id.progress);
products = findViewById(R.id.products);
totalCost = findViewById(R.id.totalCost);

products.setHasFixedSize(true);
products.setLayoutManager(new LinearLayoutManager(this));

productList = new ArrayList();

List categories = new ArrayList();
categories.add("Select market");
categories.add("Crown");
categories.add("Long Book A4");
categories.add("Long Book");
categories.add("Crown Junior");
categories.add("Physics");
categories.add("Chemistry");
categories.add("Biology");
categories.add("Universal");
categories.add("Sketch Book");

ArrayAdapter dataAdapter = new ArrayAdapter(this, android.R.layout.simple_spinner_item, categories);

dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
marketSpinner.setAdapter(dataAdapter);

marketSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {

@Override
public void onItemSelected(AdapterView adapterView, View view, int i, long l) {

String item = adapterView.getItemAtPosition(i).toString();

if(item.equals("Select market")){
progress.setVisibility(View.INVISIBLE);
}
else{

getData(item);
}

}

@Override
public void onNothingSelected(AdapterView adapterView) {

}
});

LocalBroadcastManager.getInstance(SelectPack.this).registerReceiver(message,new IntentFilter("msg"));
}

private void getData(String item){

progress.setVisibility(View.VISIBLE);
products.setVisibility(View.INVISIBLE);

productList.clear();

OkHttpClient client = new OkHttpClient.Builder()
.connectTimeout(20, TimeUnit.SECONDS)
.readTimeout(20,TimeUnit.SECONDS)
.writeTimeout(20,TimeUnit.SECONDS)
.build();

RequestBody formBody = new FormBody.Builder()
.add("name",item)
.build();

Request request = new Request.Builder().post(formBody).url(URL).build();

client.newCall(request).enqueue(new Callback() {

@Override
public void onResponse(@NotNull Call call, @NotNull final Response response) throws IOException {

runOnUiThread(new Runnable() {
@Override
public void run() {

try {

JSONArray jsonArray = new JSONArray(response.body().string());

if(jsonArray.length() >  0){

products.setVisibility(View.VISIBLE);
progress.setVisibility(View.INVISIBLE);

}

for(int i=0;i

Подробнее здесь: [url]https://stackoverflow.com/questions/59477018/how-to-get-total-by-adding-all-the-recycler-views-rows[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»