因此,对于我的应用开发类我不得不为咖啡店做一个应用程序。它必须有两个用于打奶油和巧克力的复选框。它必须接受用户的姓名,允许他们检查相应的复选框,添加一定数量的产品,并显示帐单及其总额。出于某种原因,当按下按钮时,负号和正号按钮之间的0不会改变,并且订单按钮下方的底部文本不会显示相关信息。Android咖啡厅
这里是我的代码:
package com.example.chan.coffeeshop;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
int quantity = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void decrementQuantity(View view) {
quantity = quantity - 1;
if (quantity < 0) {
Toast.makeText(getApplicationContext(), "Less than 1 is not valid", Toast.LENGTH_SHORT).show();
} else {
displayquantity(quantity);
}
}
public void incrementQuantity(View view) {
quantity = quantity + 1;
if (quantity > 10) {
Toast.makeText(getApplicationContext(), "More than 10 is not valid", Toast.LENGTH_SHORT).show();
} else {
displayquantity(quantity);
}
}
private void displayquantity(int quantity) {
TextView quantity1 = (TextView) findViewById(R.id.product_Quantity);
quantity1.setText("" + quantity);
}
public void OrderButton(View view) {
EditText name = (EditText) findViewById(R.id.name);
String names = name.getText().toString();
CheckBox choc = (CheckBox) findViewById(R.id.chocolate);
Boolean chocs = choc.isChecked();
CheckBox whippedCream = (CheckBox) findViewById(R.id.whipped_Cream);
Boolean whipped = whippedCream.isChecked();
int price = calculatePrice(chocs, whipped);
String finalMessage = createFinalMessage(names, chocs, whipped, price);
displayMessage(finalMessage);
}
private void displayMessage(String finalMessage) {
TextView Message = (TextView) findViewById(R.id.bill_Total);
Message.setText("" + finalMessage);
}
private String createFinalMessage(String names, Boolean chocs, Boolean whipped, int price) {
String Message = "Name: " + names + "\n" + "chocolate ordered: " + chocs + "\n" + "whipped cream ordered: " + whipped + "\n" + "Total Price: " + price;
return Message;
}
private int calculatePrice(Boolean chocs, Boolean whipped) {
int price = 5;
if (chocs)
{
price = price + 1;
}
if (whipped)
{
price = price + 1;
}
return price * quantity;
}
}
下面是布局代码:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="16dp"
android:paddingLeft="64dp"
android:paddingTop="16dp"
android:padding="10dp"
tools:context="com.example.chan.coffeeshop.MainActivity">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:weightSum="1">
<TextView
android:id="@+id/welcome"
android:layout_width="match_parent"
android:layout_height="76dp"
android:background="@android:color/holo_red_light"
android:gravity="center"
android:text="Welcome to Chandler's Coffee Shop App!"
android:textAppearance="@style/TextAppearance.AppCompat.Large"
tools:layout_editor_absoluteY="5dp"
tools:layout_editor_absoluteX="-8dp" />
<TextView
android:id="@+id/message"
android:layout_width="wrap_content"
android:layout_height="38dp"
android:gravity="center"
android:text="Buy some high quality coffee for only 5 bucks!"
android:textAppearance="@style/TextAppearance.AppCompat.Medium"
tools:layout_editor_absoluteX="-17dp"
tools:layout_editor_absoluteY="88dp" />
<LinearLayout
android:id="@+id/activity"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<EditText
android:id="@+id/name"
android:layout_width="match_parent"
android:layout_height="66dp"
android:ems="10"
android:inputType="textPersonName"
tools:layout_editor_absoluteX="24dp"
tools:layout_editor_absoluteY="134dp" />
<CheckBox
android:id="@+id/whipped_Cream"
android:gravity="center"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Whipped Cream $1"
tools:layout_editor_absoluteX="39dp"
tools:layout_editor_absoluteY="211dp" />
<CheckBox
android:id="@+id/chocolate"
android:gravity="center"
android:layout_width="375dp"
android:layout_height="wrap_content"
android:text="Chocolate $1"
tools:layout_editor_absoluteX="225dp"
tools:layout_editor_absoluteY="211dp" />
<TextView
android:id="@+id/coffee_Quantity"
android:gravity="center"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Quantity"
android:textAppearance="@style/TextAppearance.AppCompat.Medium"
tools:layout_editor_absoluteX="153dp"
tools:layout_editor_absoluteY="263dp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="83dp"
android:layout_marginTop="10dp"
android:orientation="horizontal"
android:padding="6dp"
android:layout_weight="0.53">
<Button
android:id="@+id/minus_Button"
android:layout_width="156dp"
android:layout_height="72dp"
android:gravity="center"
android:text="-"
tools:layout_editor_absoluteX="39dp"
tools:layout_editor_absoluteY="306dp" />
<TextView
android:id="@+id/product_Quantity"
android:layout_width="44dp"
android:layout_height="wrap_content"
android:gravity="center"
android:textAppearance="@style/TextAppearance.AppCompat.Large"
tools:layout_editor_absoluteX="186dp"
tools:layout_editor_absoluteY="330dp" />
<Button
android:id="@+id/plus_button"
android:layout_width="match_parent"
android:layout_height="72dp"
android:gravity="center"
android:text="+"
tools:layout_editor_absoluteX="240dp"
tools:layout_editor_absoluteY="306dp" />
</LinearLayout>
<TextView
android:id="@+id/coffee_Price"
android:gravity="center"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Price"
android:textAppearance="@style/TextAppearance.AppCompat.Medium"
tools:layout_editor_absoluteX="172dp"
tools:layout_editor_absoluteY="388dp" />
<Button
android:id="@+id/coffee_Order"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="ORDER"
tools:layout_editor_absoluteX="91dp"
tools:layout_editor_absoluteY="423dp" />
<LinearLayout
android:layout_marginTop="10dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="6dp">
<TextView
android:id="@+id/bill_Total"
android:gravity="center"
android:layout_width="match_parent"
android:layout_height="27dp"
android:textAppearance="@style/TextAppearance.AppCompat.Large"
tools:layout_editor_absoluteX="45dp"
tools:layout_editor_absoluteY="485dp" />
</LinearLayout>
</LinearLayout>
</ScrollView>
欢迎使用堆栈溢出。请回顾[我如何问一个好问题](https://stackoverflow.com/help/how-to-ask)。什么*确切*是你遇到的问题(“不行”不会告诉我们什么),你已经试图找到问题的是什么?问题应该显示**研究证据和尝试自己解决问题**,明确提出具体问题,以及[最小,完整和可验证示例]中的相关代码*(https:// stackoverflow。 com/help/mcve),所以我们有足够的信息能够提供帮助。 – FluffyKitten