当我点击“+”按钮时,我应该会显示2并再次点击它应该让我3。

时间:2017-05-29 16:27:35

标签: java android

这是关注的一部分-------

 public void incrementQ(View view) {
    int variableI = 2;
    variableI = variableI + 1;


    display(variableI);


}

这个问题是关于Udacity的基础Android开发计划课程编号。 1使应用程序互动:第1部分....... 18。测验:更新数量变量

这是-----

下面的MainActivity.java的完整代码
package com.example.user1.a1;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.TextView;

import java.text.NumberFormat;

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

@Override
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) {

    int variableC = 2;
    display(variableC);
    displayPrice(variableC * 5);
}
public void incrementQ(View view) {
    int variableI = 2;
    variableI = variableI + 1;


    display(variableI);


}

public void decrementQ(View view){
    int variableD = 2;
    variableD = variableD - 1;

    display(variableD);



}

/**
 * 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.pricein$);
    priceTextView.setText(NumberFormat.getCurrencyInstance().format(number));
}

这是xml代码..以防万一

<?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:app="http://schemas.android.com/apk/res-auto"
 xmlns:tools="http://schemas.android.com/tools"
 android:layout_width="match_parent"
 android:orientation="vertical"
 android:layout_height="match_parent"
 tools:context="com.example.user1.a1.MainActivity"
 android:weightSum="1">

 <TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginBottom="16dp"
    android:text="@string/quantity"
    android:textAllCaps="true" />

 <Button
    android:id="@+id/button2"
    android:layout_width="48dp"
    android:layout_height="48dp"
    android:onClick="incrementQ"
    android:text="@string/goonakar" />

 <TextView
    android:id="@+id/quantity_text_view"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/_0"
    android:textColor="#000000"
    android:textSize="16sp" />

 <Button
    android:id="@+id/button3"
    android:layout_width="48dp"
    android:layout_height="48dp"
    android:onClick="decrementQ"
    android:text="@string/bhagakar" />


 <TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/price"
    android:textColor="#000000"
    android:textSize="16sp" />

 <TextView
    android:id="@+id/pricein$"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/$0"
    android:textColor="#000000"
    android:textSize="16sp" />

 <Button
    android:id="@+id/button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="16dp"
    android:onClick="submitOrder"
    android:text="@string/order"
    android:textAllCaps="true" />
 </LinearLayout>

1 个答案:

答案 0 :(得分:0)

在每次通话中重新初始化variableI似乎很奇怪。您应该尝试将所有变量放在函数之外:

int variableI = 2;

public void incrementQ(View view) {
    variableI = variableI + 1;


    display(variableI);


}

这可能需要在您的代码中的多个位置应用。