0

Я должен сделать приложение в Android Studio, которое заказывает праздник. Я должен отображать цену отпуска клиентов в зависимости от типа размещения, которое они выбрали (3 переключателя), и количества ночей, которые они останавливают (прядильщик). У меня было много попыток сделать расчет, и у меня есть, и, хотя, похоже, с этим нет проблем, результат вычисления не проходит через мою другую деятельность, чтобы я мог ее отображать. Кто-нибудь может мне помочь?Расчет и передача номера другому Упражнение

MakeBooking активность

public class MakeBooking extends Activity implements View.OnClickListener, AdapterView.OnItemSelectedListener { 

    Button hButton; 
    Button reviewButton; 
    Spinner parkSpin, nightSpin, adultSpin, sixteenSpin, fiveSpin; 
    String radioAButtonSelected = ""; 
    String radioPButtonSelected = ""; 
    EditText fromDate; 
    DatePickerDialog fromDatePickerDialog; 
    SimpleDateFormat dateFormatter; 
    float cabinPrice = 45; 
    float caravanPrice = 25; 
    float tentPrice = 15; 
    float Price, Price1; 

    private static final String[] parks={" ","Lothianside Camping and Caravanning Park", "Loch Bannoch Touring Park", "Mckeowns Holiday Park"}; 
    String chosenPark ="not chosen"; 
    private static final String[] nights={" ", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14" }; 
    String chosenNights = "not chosen"; 
    private static final String[] adults={" ", "0", "1", "2", "3", "4", "5" }; 
    String chosenAdults = "not chosen"; 
    private static final String[] under16={" ", "0", "1", "2", "3", "4", "5" }; 
    String chosenSixteen = "not chosen"; 
    private static final String[] under5={" ", "0","1", "2", "3", "4", "5" }; 
    String chosenFive = "not chosen"; 

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

     parkSpin= (Spinner) findViewById(R.id.parkSpinner); 
     parkSpin.setOnItemSelectedListener(this); 
     ArrayAdapter<String> aa = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, 
       parks); 
     aa.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
     parkSpin.setAdapter(aa); 

     nightSpin = (Spinner) findViewById(R.id.nightSpinner); 
     nightSpin.setOnItemSelectedListener(this); 
     aa = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, 
       nights); 
     aa.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
     nightSpin.setAdapter(aa); 

     adultSpin = (Spinner) findViewById(R.id.adultSpinner); 
     adultSpin.setOnItemSelectedListener(this); 
     aa = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, 
       adults); 
      aa.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
      adultSpin.setAdapter(aa); 


     sixteenSpin = (Spinner) findViewById(R.id.underSSpinner); 
     sixteenSpin.setOnItemSelectedListener(this); 
     aa = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, 
       under16); 
     aa.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
     sixteenSpin.setAdapter(aa); 

     fiveSpin = (Spinner) findViewById(R.id.underFSpinner); 
     fiveSpin.setOnItemSelectedListener(this); 
     aa = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, 
       under5); 
     aa.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
     fiveSpin.setAdapter(aa); 



     hButton = (Button)findViewById(R.id.homeButton); 
     hButton.setOnClickListener(this); 
     reviewButton = (Button)findViewById(R.id.bookButton); 
     reviewButton.setOnClickListener(this); 

     dateFormatter = new SimpleDateFormat("dd-MM-yyyy", Locale.UK); 


     findViewsById(); 

     setDateTimeField(); 



    } 




    private void findViewsById() { 
     fromDate = (EditText) findViewById(R.id.fromDate); 

     fromDate.setInputType(InputType.TYPE_NULL); 
     fromDate.requestFocus(); 

    } 

    private void setDateTimeField() { 
     fromDate.setOnClickListener(this); 

     Calendar newCalendar = Calendar.getInstance(); 
     fromDatePickerDialog = new DatePickerDialog(this, new DatePickerDialog.OnDateSetListener() { 

      public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { 
       Calendar newDate = Calendar.getInstance(); 
       newDate.set(year, monthOfYear, dayOfMonth); 
       fromDate.setText(dateFormatter.format(newDate.getTime())); 
      } 

     },newCalendar.get(Calendar.YEAR), newCalendar.get(Calendar.MONTH), newCalendar.get(Calendar.DAY_OF_MONTH)); 





    } 

    public void onAccommodationClicked(View v) { 
     boolean checked = ((RadioButton) v).isChecked(); 
     switch (v.getId()) { 
      case R.id.cabinRButton: 
       if (checked) 
        radioAButtonSelected = "Cabin"; 
       Price = getCabinPrice(cabinPrice); 
       break; 
      case R.id.caravanRButton: 
       if (checked) 
        radioAButtonSelected = "Caravan"; 
       Price = getCaravanPrice(caravanPrice); 
       break; 
      case R.id.tentRButton: 
       if (checked) 
        radioAButtonSelected ="Tent"; 
       Price = getTentPrice(tentPrice); 
       break; 

     } 
    } 
    private float getCabinPrice(float cabinPrice) { 
     return (Integer.parseInt(chosenNights) * cabinPrice); 
    } 

    private float getCaravanPrice(float caravanPrice) { 
     return (Integer.parseInt(chosenNights) * caravanPrice); 
    } 

    private float getTentPrice(float tentPrice) { 
     return (Integer.parseInt(chosenNights) * tentPrice); 
    } 

    public void onPetClicked(View v) { 
     boolean checked = ((RadioButton) v).isChecked(); 
     switch (v.getId()) { 
      case R.id.yesRButton: 
       if (checked) 
        radioPButtonSelected = "Yes"; 
       break; 
      case R.id.noRButton: 
       if (checked) 
        radioPButtonSelected = "No"; 
       break; 


     } 
    } 

    public void onItemSelected(AdapterView<?> parent, View v, int position, long id) { 
     // Toast.makeText(this, "clicked." + parent.getId(), Toast.LENGTH_LONG).show(); 
     switch (parent.getId()) { 
      case R.id.parkSpinner: 
       chosenPark = parks[position]; 
       break; 
      case R.id.nightSpinner: 
       chosenNights = nights[position]; 
       break; 
      case R.id.adultSpinner: 
       chosenAdults = adults[position]; 
       if (chosenAdults == "0"){ 
        Toast.makeText(this, "Please confirm an adult over 21 is in your party.", Toast.LENGTH_LONG).show(); 
       } 
       break; 
      case R.id.underSSpinner: 
       chosenSixteen = under16[position]; 
       break; 
      case R.id.underFSpinner: 
       chosenFive = under5[position]; 
       break; 
     } 
    } 


    public void onNothingSelected(AdapterView<?> parent) { 
     chosenPark = ""; 
     chosenNights = ""; 
     chosenAdults = ""; 
     chosenSixteen = ""; 
     chosenFive = ""; 
    } 


    public void onClick(View view) { 
     Intent intent; 

     switch (view.getId()) { 
      case R.id.homeButton: 
       intent = new Intent(this, MainActivity.class); 
       startActivity(intent); 
       break; 
      case R.id.bookButton: 
       intent = new Intent(this, ReviewBooking.class); 
       startActivity(intent); 
       break; 
     } 

     if(view == fromDate) { 
      fromDatePickerDialog.show(); 
     } 
     else { 
      intent = new Intent(this, ReviewBooking.class); 
      intent.putExtra("chosenPark", chosenPark); 
      intent.putExtra("chosenNights", chosenNights); 
      intent.putExtra("chosenAdults", chosenAdults); 
      intent.putExtra("chosenSixteen", chosenSixteen); 
      intent.putExtra("chosenFive", chosenFive); 
      intent.putExtra("radioButtonSelected", radioAButtonSelected); 
      intent.putExtra("radioPButtonSelected", radioPButtonSelected); 
      intent.putExtra("fromDate", fromDate.toString()); 
      intent.putExtra("Price1", Price1); 


      startActivity(intent); 


     } 
    } 


} 

Обзор Бронирование Acivity

public class ReviewBooking extends Activity implements View.OnClickListener { 
    Button hButton; 
    float Price1; 
    float cabin, caravan, tent; 
    TextView radioChoice; 


    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_review_booking); 
     hButton = (Button) findViewById(R.id.homeButton); 
     hButton.setOnClickListener(this); 

     Intent intent = getIntent(); 
     String uir = intent.getStringExtra("chosenPark"); 
     String uir2 = intent.getStringExtra("chosenNights"); 
     String uir3 = intent.getStringExtra("chosenAdults"); 
     String uir4 = intent.getStringExtra("chosenSixteen"); 
     String uir5 = intent.getStringExtra("chosenFive"); 
     String uir6 = intent.getStringExtra("radioAButtonSelected"); 
     String uir7 = intent.getStringExtra("radioPButtonSelected"); 
     String uir8 = intent.getStringExtra("fromDate"); 
     String uir9 = intent.getStringExtra("Price1"); 


     TextView textView = (TextView) findViewById(R.id.parkChoice); 
     textView.setText(uir); 

     TextView textView2 = (TextView) findViewById(R.id.nightsChoice); 
     textView2.setText(uir2); 

     TextView textView3 = (TextView) findViewById(R.id.adultChoice); 
     textView3.setText(uir3); 

     TextView textView4 = (TextView) findViewById(R.id.sixteenChoice); 
     textView4.setText(uir4); 

     TextView textView5 = (TextView) findViewById(R.id.fiveChoice); 
     textView5.setText(uir5); 

     TextView radioChoice = (TextView) findViewById(R.id.radioChoice); 
     radioChoice.setText(uir6); 

     TextView petChoice = (TextView) findViewById(R.id.petChoice); 
     petChoice.setText(uir7); 

     TextView dateChoice = (TextView) findViewById(R.id.dateChoice); 
     dateChoice.setText(uir8); 

     TextView txtPrice = (TextView) findViewById(R.id.txtPrice); 
     txtPrice.setText(uir9); 

    } 

    public void onClick(View view) { 
     Intent intent; 
     intent = new Intent(this, MainActivity.class); 
     startActivity(intent); 


    } 
} 
+0

Также, если кто-то может получить мою дату, чтобы перейти к другой деятельности, а также, что было бы здорово haaha –

ответ

1

вы можете использовать intent.putExtraString передать строку. и аналогичный метод также доступен для передачи целого long double.

+0

Я сделал что-то, чтобы получить значение 0.0, чтобы пройти, но на самом деле оно не качается. –

+0

В моей деятельности по бронированию, когда я do intent.putExtra («Цена», String.valueOf (Цена)); значение 0.0 передается другому действию –

+0

означает, что ваша цена равна 0 в первом действии. так что вы получаете 0.0 в другом действии. поставить точку отладки и проверить значение цены перед тем, как поместить в дополнительное поле. – user3383787