Answer the question
In order to leave comments, you need to log in
How to charge for shipping?
Tell me how, in the onItemSelected() method, when selecting an item from the spinner, if the value "Pickup" matches, for example, add the amount for delivery, let's say 350, and display this markup in the getDataFromDatabase() method
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);
}
}
Answer the question
In order to leave comments, you need to log in
By simply adding the amount for delivery to the database, get it in
And add it to the formula that calculates the delivery
getParams()
params.put("comis", str_comis);
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question