Наценка за доставку и вывод
Подскажите как в методе onItemSelected() при выборе элемента из spinner при совпадении например значения "Самовывоз" прибавить сумму за доставку, допустим 350 и вывести эту наценку в методе getDataFromDatabase()
public class ActivityCheckout extends AppCompatActivity {
private void getSpinnerData() {
arrayList = new ArrayList<String>();
spinner = findViewById(R.id.spinner);
StringRequest stringRequest = new StringRequest(GET_SHIPPING, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
JSONObject jsonObject = null;
try {
jsonObject = new JSONObject(response);
result = jsonObject.getJSONArray("result");
getShipping(result);
} catch (JSONException e) {
e.printStackTrace();
}
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
edt_shipping.setText(setShipping(i));
if (spinner.getSelectedItem().toString().trim().equals("Самовывоз")) {
// здесь вместо Toast при выборе элемента Самовывоз делаем наценку Toast.makeText(ActivityCheckout.this, " выбран самовывоз", Toast.LENGTH_SHORT).show(); }
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
});
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
});
RequestQueue requestQueue = Volley.newRequestQueue(this);
requestQueue.add(stringRequest);
}
private void getShipping(JSONArray jsonArray) {
for (int i = 0; i < jsonArray.length(); i++) {
try {
JSONObject json = jsonArray.getJSONObject(i);
arrayList.add(json.getString("shipping_name"));
} catch (JSONException e) {
e.printStackTrace();
}
}
ArrayAdapter<String> myAdapter = new ArrayAdapter<String>(ActivityCheckout.this, R.layout.spinner_item, arrayList);
myAdapter.setDropDownViewResource(R.layout.spinner_dropdown_item);
spinner.setAdapter(myAdapter);
}
private String setShipping(int position) {
String name = "";
try {
JSONObject json = result.getJSONObject(position);
name = json.getString("shipping_name");
} catch (JSONException e) {
e.printStackTrace();
}
return name;
}
public void submitOrder() {
btn_submit_order.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
getValueFromEditText();
}
});
}
public void getDataFromDatabase() {
data = dbhelper.getAllData();
double Order_price = 0;
double Total_price = 0;
double tax = 0;
for (int i = 0; i < data.size(); i++) {
ArrayList<Object> row = data.get(i);
String Menu_name = row.get(1).toString();
String Quantity = row.get(2).toString();
double Sub_total_price = Double.parseDouble(row.get(3).toString());
String _Sub_total_price = String.format(Locale.GERMAN, "%1$,.0f", Sub_total_price);
Order_price += Sub_total_price;
if (Config.ENABLE_DECIMAL_ROUNDING) {
data_order_list += (Quantity + " " + Menu_name + " " + _Sub_total_price + " " + str_currency_code + ",\n");
} else {
data_order_list += (Quantity + " " + Menu_name + " " + Sub_total_price + " " + str_currency_code + ",\n");
}
}
if (data_order_list.equalsIgnoreCase("")) {
data_order_list += getString(R.string.no_order_menu);
}
tax = 0;
Total_price = Order_price + tax;
String price_tax = String.format(Locale.GERMAN, "%1$,.0f", str_tax);
String _Order_price = String.format(Locale.GERMAN, "%1$,.0f", Order_price);
String _tax = String.format(Locale.GERMAN, "%1$,.0f", tax);
String _Total_price = String.format(Locale.GERMAN, "%1$,.0f", Total_price);
if (Config.ENABLE_DECIMAL_ROUNDING) {
data_order_list += "\n" + getResources().getString(R.string.txt_order) + " " + _Order_price + " " + str_currency_code + " доставка вышла:";
edt_order_total.setText(_Total_price + " " + str_currency_code);
} else {
//здесь нужно вывести эту наценку data_order_list += "\n" + getResources().getString(R.string.txt_order) + " " + Order_price + " " + str_currency_code + " доставка вышла:" + наценка;
edt_order_total.setText(Total_price + " " + str_currency_code);
}
edt_order_list.setText(data_order_list);
}
public void dialogSuccessOrder() {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle(R.string.checkout_success_title);
builder.setIcon(R.drawable.received);
builder.setMessage(R.string.checkout_success_msg);
builder.setCancelable(false);
builder.setPositiveButton(R.string.checkout_option_ok, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dbhelper.addDataHistory(rand, str_order_list, str_order_total, date);
dbhelper.deleteAllData();
Intent intent = new Intent(getApplicationContext(), MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(intent);
}
});
AlertDialog alert = builder.create();
alert.show();
}
}