Подскажите как в методе onItemSelected() при выборе элемента из spinner при совпадении например значения "Самовывоз" прибавить сумму за доставку, допустим 350 и вывести эту наценку в методе getDataFromDatabase()
public class ActivityCheckout extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_checkout);
view = findViewById(android.R.id.content);
if (Config.ENABLE_RTL_MODE) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
getWindow().getDecorView().setLayoutDirection(View.LAYOUT_DIRECTION_RTL);
}
}
sharedPref = new SharedPref(this);
setupToolbar();
getSpinnerData();
getTaxCurrency();
dbhelper = new DBHelper(this);
try {
dbhelper.openDataBase();
} catch (SQLException sqle) {
throw sqle;
}
// Creating Volley newRequestQueue
requestQueue = Volley.newRequestQueue(ActivityCheckout.this);
progressDialog = new ProgressDialog(ActivityCheckout.this);
btn_submit_order = findViewById(R.id.btn_submit_order);
edt_name = findViewById(R.id.edt_name);
edt_email = findViewById(R.id.edt_email);
edt_phone = findViewById(R.id.edt_phone);
edt_address = findViewById(R.id.edt_address);
edt_shipping = findViewById(R.id.edt_shipping);
edt_order_list = findViewById(R.id.edt_order_list);
edt_order_total = findViewById(R.id.edt_order_total);
edt_comment = findViewById(R.id.edt_comment);
edt_order_list.setEnabled(false);
getDataFromDatabase();
submitOrder();
}
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 getValueFromEditText() {
str_name = edt_name.getText().toString();
str_email = edt_email.getText().toString();
str_phone = edt_phone.getText().toString();
str_address = edt_address.getText().toString();
str_shipping = edt_shipping.getText().toString();
str_order_list = edt_order_list.getText().toString();
str_order_total = edt_order_total.getText().toString();
str_comment = edt_comment.getText().toString();
if (str_name.equalsIgnoreCase("") ||
str_email.equalsIgnoreCase("") ||
str_phone.equalsIgnoreCase("") ||
str_address.equalsIgnoreCase("") ||
str_shipping.equalsIgnoreCase("") ||
str_order_list.equalsIgnoreCase("")) {
Snackbar.make(view, R.string.checkout_fill_form, Snackbar.LENGTH_SHORT).show();
} else {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle(R.string.checkout_dialog_title);
builder.setMessage(R.string.checkout_dialog_msg);
builder.setCancelable(false);
builder.setPositiveButton(getResources().getString(R.string.dialog_option_yes), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
requestAction();
//new sendData().execute();
}
});
builder.setNegativeButton(getResources().getString(R.string.dialog_option_no), null);
builder.setCancelable(false);
builder.show();
}
}
public void requestAction() {
progressDialog.setTitle(getString(R.string.checkout_submit_title));
progressDialog.setMessage(getString(R.string.checkout_submit_msg));
progressDialog.show();
StringRequest stringRequest = new StringRequest(Request.Method.POST, POST_ORDER, new Response.Listener<String>() {
@Override
public void onResponse(final String ServerResponse) {
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
progressDialog.dismiss();
dialogSuccessOrder();
}
}, 2000);
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
progressDialog.dismiss();
Toast.makeText(getApplicationContext(), volleyError.toString(), Toast.LENGTH_LONG).show();
}
}) {
@Override
protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<String, String>();
params.put("code", rand);
params.put("name", str_name);
params.put("email", str_email);
params.put("phone", str_phone);
params.put("address", str_address);
params.put("shipping", str_shipping);
params.put("order_list", str_order_list);
params.put("order_total", str_order_total);
params.put("comment", str_comment);
params.put("player_id", OneSignal.getPermissionSubscriptionState().getSubscriptionStatus().getUserId());
params.put("date", date);
params.put("server_url", Config.ADMIN_PANEL_URL);
return params;
}
};
RequestQueue requestQueue = Volley.newRequestQueue(ActivityCheckout.this);
requestQueue.add(stringRequest);
}
public void getTaxCurrency() {
Intent intent = getIntent();
str_tax = intent.getDoubleExtra("tax", 0);
str_currency_code = intent.getStringExtra("currency_code");
}
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 + " доставка вышла:" + shippingPrice;;
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 + " доставка вышла:" + shippingPrice;;
edt_order_total.setText(Total_price + " " + str_currency_code);
}
edt_order_list.setText(data_order_list);
}
}