I'm trying to make the app add a topping only if the box is checked. I was following a lesson and they showed me how to display the String with the true or false statement next to it. I don't want that. I actually want the string to appear only if the checkbox is checked. Thank you.
Hi this is the XML:
<EditText android:id="@+id/edit_text" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="Enter your Name" android:layout_margin="16dp"/> <CheckBox android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/chocolateCheckBox" android:text="Add Chocolate On Your Coffee" android:layout_margin="16dp" android:layout_below="@id/edit_text" /> <CheckBox android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/creamCheckBox" android:text="Add Cream On Your Coffee" android:layout_marginLeft="16dp" android:layout_marginBottom="8dp" android:layout_below="@id/chocolateCheckBox"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="QUANTITY" android:id="@+id/quantity" android:textSize="16sp" android:layout_marginTop="16dp" android:layout_marginLeft="16dp" android:layout_below="@id/creamCheckBox" /> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" android:layout_margin="16dp" android:id="@+id/adding_layout" android:layout_below="@id/quantity"> <Button android:layout_width="48dp" android:layout_height="48dp" android:text="-" android:onClick="decrement" android:id="@+id/minus_button" android:width="48dp" android:height="48dp"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="0" android:id="@+id/quantity_text_view" android:textSize="16sp" android:textColor="#000000" android:layout_marginLeft="8dp" android:layout_marginRight="8dp"/> <Button android:layout_width="48dp" android:layout_height="48dp" android:text="+" android:onClick="increment" android:id="@+id/plus_button"/> </LinearLayout> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/order_summary" android:text="ORDER SUMMARY" android:textSize="16sp" android:layout_below="@id/adding_layout" android:layout_marginLeft="16dp"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="0" android:id="@+id/order_summary_text_view" android:textSize="16sp" android:layout_margin="16dp" android:layout_below="@id/order_summary" android:textColor="#000000"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/order_button" android:text="ORDER" android:layout_marginLeft="16dp" android:layout_below="@id/order_summary_text_view" android:onClick="submitOrder"/> </RelativeLayout> </ScrollView>
and this is the java code:
public class MainActivity extends AppCompatActivity {
/** * ATTENTION: This was auto-generated to implement the App Indexing API. * See http://ift.tt/1Shh2Dk for more information. */ private GoogleApiClient client; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // ATTENTION: This was auto-generated to implement the App Indexing API. // See http://ift.tt/1Shh2Dk for more information. client = new GoogleApiClient.Builder(this).addApi(AppIndex.API).build(); } int quantity = 0; public String submitOrder(View view) { CheckBox addChocolate = (CheckBox) findViewById(R.id.chocolateCheckBox); boolean hasChocolate = addChocolate.isChecked(); CheckBox addCream = (CheckBox) findViewById(R.id.creamCheckBox); boolean hasCream = addCream.isChecked(); if (hasChocolate = true){ String chocolate = "Add Chocolate to the coffee"; return chocolate; } if (addCream.isChecked()){ String cream = "Add Cream to the coffee"; return cream; } EditText enterName = (EditText) findViewById(R.id.edit_text); Editable addName = enterName.getText(); int price = calculatePrice(); String priceMessage = createOrderSummary(addName, price, chocolate, cream); displayMessage(priceMessage); return priceMessage; } /** Calculates the price of the order. */ private int calculatePrice() { return quantity * 5; } /** displays the number of coffee between the + and - buttons */ private void displayQuantity(int number) { TextView quantityTextView = (TextView) findViewById(R.id.quantity_text_view); quantityTextView.setText("" + number); } private String createOrderSummary(Editable enterName, int calculatePrice, boolean chocolate, boolean cream) { String priceMessage = "Name = " + enterName + "\nQuantity : " + quantity + "\n" + chocolate + "\n" + cream + "\nTotal: £ " + calculatePrice + "\nThank you!"; return priceMessage; } public void increment(View view) { quantity = quantity + 1; displayQuantity(quantity); } public void decrement(View view) { quantity = quantity - 1; displayQuantity(quantity); } /** * 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); }
Aucun commentaire:
Enregistrer un commentaire