Skip to content

Instantly share code, notes, and snippets.

@udacityandroid
Last active December 22, 2023 08:49
Show Gist options
  • Save udacityandroid/609dbb5370ba0665955a to your computer and use it in GitHub Desktop.
Save udacityandroid/609dbb5370ba0665955a to your computer and use it in GitHub Desktop.
Android for Beginners : Add the Chocolate Topping Checkbox Solution Java
package com.example.android.justjava;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.CheckBox;
import android.widget.TextView;
/**
* This app displays an order form to order coffee.
*/
public class MainActivity extends AppCompatActivity {
int quantity = 2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
/**
* This method is called when the plus button is clicked.
*/
public void increment(View view) {
quantity = quantity + 1;
displayQuantity(quantity);
}
/**
* This method is called when the minus button is clicked.
*/
public void decrement(View view) {
quantity = quantity - 1;
displayQuantity(quantity);
}
/**
* This method is called when the order button is clicked.
*/
public void submitOrder(View view) {
// Figure out if the user wants whipped cream topping
CheckBox whippedCreamCheckBox = (CheckBox) findViewById(R.id.whipped_cream_checkbox);
boolean hasWhippedCream = whippedCreamCheckBox.isChecked();
// Figure out if the user wants chocolate topping
CheckBox chocolateCheckBox = (CheckBox) findViewById(R.id.chocolate_checkbox);
boolean hasChocolate = chocolateCheckBox.isChecked();
// Calculate the price
int price = calculatePrice();
// Display the order summary on the screen
String message = createOrderSummary(price, hasWhippedCream, hasChocolate);
displayMessage(message);
}
/**
* Calculates the price of the order.
*
* @return total price
*/
private int calculatePrice() {
return quantity * 5;
}
/**
* Create summary of the order.
*
* @param price of the order
* @param addWhippedCream is whether or not to add whipped cream to the coffee
* @param addChocolate is whether or not to add chocolate to the coffee
* @return text summary
*/
private String createOrderSummary(int price, boolean addWhippedCream, boolean addChocolate) {
String priceMessage = "Name: Lyla the Labyrinth";
priceMessage += "\nAdd whipped cream? " + addWhippedCream;
priceMessage += "\nAdd chocolate? " + addChocolate;
priceMessage += "\nQuantity: " + quantity;
priceMessage += "\nTotal: $" + price;
priceMessage += "\nThank you!";
return priceMessage;
}
/**
* This method displays the given quantity value on the screen.
*/
private void displayQuantity(int numberOfCoffees) {
TextView quantityTextView = (TextView) findViewById(
R.id.quantity_text_view);
quantityTextView.setText("" + numberOfCoffees);
}
/**
* This method displays the given text on the screen.
*/
private void displayMessage(String message) {
TextView orderSummaryTextView = (TextView) findViewById(R.id.order_summary_text_view);
orderSummaryTextView.setText(message);
}
}
@omeshkumar65
Copy link

This code also affect the price as per chocolatebox is checked or whippedCreamBox checked

`package com.o.just_java;

import android.os.Bundle;
import android.view.View;
import android.widget.CheckBox;
import android.widget.TextView;

import java.text.NumberFormat;

import androidx.appcompat.app.AppCompatActivity;

/**

  • This app displays an order form to order coffee.
    */
    public class MainActivity extends AppCompatActivity {

    int quantity= 0;
    int price = 5;
    int whippedCreamPrice=0;
    int chocolatePrice=0;

    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    }

    /**

    • This method is called when the order button is clicked.
      */

    public void submitOrder(View view) {
    CheckBox whippedCreamCheckBox = (CheckBox) findViewById(R.id.whippedCreamCheckBox);
    boolean hasWhippedCream= whippedCreamCheckBox.isChecked();

     CheckBox chocolateBox = (CheckBox) findViewById(R.id.chocolateBox);
     boolean hasChocolate= chocolateBox.isChecked();
    
     if(hasWhippedCream == true)
         {
             whippedCreamPrice=2;
         }
         else {
         whippedCreamPrice=0;
         }
     if(hasChocolate ==  true) {
         chocolatePrice=3;
     }
     else {
         chocolatePrice=0;
     }
    
     String priceMessage= "Name: "+"Omesh kumar"+
             "\nQuantity: " +quantity+
             "\nwippedCream: " + hasWhippedCream +
             "\nChocolate: " + hasChocolate +
             "\nTotal $ "+ quantity* (price +whippedCreamPrice +chocolatePrice) +
             "\nThankyou";
     displayMessage(priceMessage);
     // displayPrice(quantity*5);
    

    }

    public void Increment(View view)
    {
    quantity= quantity + 1;
    display(quantity);
    }

    public void Decrement(View view)
    {
    quantity= quantity - 1;
    display(quantity);
    }

    /**

    • This method displays the given quantity value on the screen.
      */
      private void display(int number) {
      TextView quantityTextView = (TextView) findViewById(R.id.quantity_text_view);
      quantityTextView.setText("" + number);
      }

    /**

    • This method displays the given price on the screen.
      */
      private void displayPrice(int number) {
      TextView priceTextView = (TextView) findViewById(R.id.price_text_view);
      priceTextView.setText(NumberFormat.getCurrencyInstance().format(number));
      }
      private void displayMessage(String message) {
      TextView priceTextView = (TextView) findViewById(R.id.price_text_view);
      priceTextView.setText(message);
      }
      }`

@yaz71
Copy link

yaz71 commented Sep 22, 2020

I did it using a different code, still worked :D ! thank you for the code tho !!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment