ฉันมีรหัสนี้ที่ฉันต้องการใช้เพื่ออัปเดตต้นทุนของสินค้าตามโซนการจัดส่งที่เลือกในตัวหมุน
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
delivery.setText(getCost(position));
totalCost += Double.valueOf(delivery.getText().toString());
total.setText(Double.toString(totalCost));
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
delivery.setText("0.00");
totalCost -= Double.valueOf(delivery.getText().toString());
total.setText(Double.toString(totalCost));
}
มูลค่าของ TotalCost ควรเป็นต้นทุนของสินค้าบวกภาษีบวกค่าจัดส่งสำหรับโซนที่เลือก ตอนนี้ปัญหาของฉันคือว่า
- รายการแรกจะถูกเลือกตามค่าเริ่มต้นเมื่อเริ่มต้นกิจกรรม และต้นทุนที่ใช้ ต้นทุนจะเพิ่มขึ้นเรื่อยๆ เมื่อผู้ใช้เลือกโซนอื่น ซึ่งแน่นอนว่ามีต้นทุนที่แตกต่างกัน เช่น หากต้นทุนของรายการบวกภาษีเป็น 100 ต้นทุนรวมจะกลายเป็น 150( ค่าจัดส่งไปยังตำแหน่งแรกคือ 50) เมื่อผู้ใช้เลือกโซนอื่นซึ่งมีค่าจัดส่งเป็น 100 ต้นทุนทั้งหมดจะกลายเป็น 250 และไม่ใช่ 200 เนื่องจากจะเพิ่มเข้ากับค่าเริ่มต้นโดยตรงซึ่งประกอบด้วยต้นทุนของรายการบวกต้นทุนของ จัดส่งไปยังโซนแรกและตอนนี้ต้นทุนการจัดส่งไปยังโซนที่เลือกใหม่
มีวิธีใดบ้างที่ฉันสามารถแก้ไขได้?
ขอบคุณ