因此,对于我的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;
答案 0 :(得分:1)
我检查了您的代码,发现onClick
和onClickListener
都没有设置为按钮。
他们将如何设想呢?
<强>或者:强>
在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级别显示