Android咖啡店

时间:2017-10-01 03:18:03

标签: android

因此,对于我的App Dev课程,我必须为咖啡店制作应用程序。它必须有两个奶油和巧克力复选框。它必须接受用户的名称,允许他们检查相应的复选框,添加一定数量的产品,并显示其总计的帐单。由于某些原因,按下按钮时,减号和加号按钮之间的0不会改变,订单按钮下方的底部文本将不会显示相关信息。

这是我的代码:

<?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>

这是布局代码:

import React from 'react';

/**
 * A counter button: tap the button to increase the count.
 */
class Counter extends React.Component {
  constructor() {
    super();
    this.state = {
      count: 0,
    };
  }

  render() {
    return (
      <button onClick={() => {this.setState({ count: this.state.count + 1 });}}>
        Count: {this.state.count}
      </button>
    );
  }
}
export default Counter;

3 个答案:

答案 0 :(得分:1)

我检查了您的代码,发现onClickonClickListener都没有设置为按钮。
他们将如何设想呢?

<强>或者:

在XML中设置onClick就像 android:onClick="decrementQuantity"的{​​{1}} minus_Button的{​​{1}} android:onClick="decrementQuantity"

plus_Button



在onCreate上的按钮上设置android:onClick="OrderButton",如

coffee_Order

可能这些是你代码中唯一错误的东西,试试这个。

答案 1 :(得分:0)

您没有为按钮设置OnClickListeners。一旦你这样做,它应该工作,你的增量和减量功能看起来不错。如果您想要更新,还需要在其中设置总数。

答案 2 :(得分:0)

在Layor设计视图中,双击减号/加号按钮添加incrementQuantity / decrementQuantity 并且还要将onClickListener设置为激活按钮的触发器。

如果要在视图上显示数量,还需要将数量传递给变量以在UI级别显示