Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 增量Int onClick_Java_Android - Fatal编程技术网

Java 增量Int onClick

Java 增量Int onClick,java,android,Java,Android,这里是noobandroid开发者 我正在为Android创建一个基本的美式足球记分应用程序。我试图用XML按钮的时钟增加一个变量值 由于某些原因,当单击“增量”按钮时,变量未按需要更新。我肯定我错过了一些基本的东西,但似乎无法破解它 <TextView android:id="@+id/home_touchdowns_var" android:layout_width="10dp" android:layout_height="24dp"

这里是noobandroid开发者

我正在为Android创建一个基本的美式足球记分应用程序。我试图用XML按钮的时钟增加一个变量值

由于某些原因,当单击“增量”按钮时,变量未按需要更新。我肯定我错过了一些基本的东西,但似乎无法破解它

<TextView
        android:id="@+id/home_touchdowns_var"
        android:layout_width="10dp"
        android:layout_height="24dp"
        android:layout_marginStart="80dp"
        android:layout_marginTop="16dp"
        android:text="0"
        android:textSize="16sp"
        android:textStyle="bold"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/home_touchdowns" />

 <Button
        android:id="@+id/home_touchdown_plus"
        android:layout_width="40dp"
        android:layout_height="40dp"
        android:layout_marginStart="8dp"
        android:layout_marginTop="8dp"
        android:onClick="homeTouchdownButtonPlus"
        android:text="+"
        app:layout_constraintStart_toEndOf="@+id/home_touchdowns_var"
        app:layout_constraintTop_toBottomOf="@+id/home_touchdowns" />



 package com.example.android.scorekeeper;

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

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    int homeScore = 0;
    int homeTouchdowns = 0;
    int homeXtraPoints = 0;
    int homeFieldGoals = 0;

    int visitorScore = 0;
    int visitorTouchdowns = 0;
    int visitorXtraPoints = 0;
    int visitorFieldGoals = 0;


    public void homeTouchdownButtonPlus(View view) {
        homeTouchdowns = homeTouchdowns + 1;
    }

    public void homeTouchdownsButtonMinus(View view) {
        homeTouchdowns = homeTouchdowns - 1;
    }
}

包com.example.android.scorekeeper;
导入android.support.v7.app.AppActivity;
导入android.os.Bundle;
导入android.view.Display;
导入android.view.view;
公共类MainActivity扩展了AppCompatActivity{
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
int homeScore=0;
int HOME触地得分=0;
int homeXtraPoints=0;
int homeFieldGoals=0;
int visitorScore=0;
int visitorTouchdowns=0;
int visitorXtraPoints=0;
int visitorFieldGoals=0;
public void homeTouchdownButtonPlus(视图){
家庭触地得分=家庭触地得分+1;
}
公共无效HomeTouchDownButtonMinus(视图){
家庭触地得分=家庭触地得分-1;
}
}
[更新]

您的代码是正确的,但尚未完成,您必须调用TextView的方法
setText
,以更新视图数据,还必须在代码中映射TextView,因此您的代码将:

private TextView textview_home_touchdowns; //TextView where you will see the data

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    textview_home_touchdowns = (TextView) //Mapping the TextView
                                   findViewById(R.id.home_touchdowns_var);
}

public void homeTouchdownButtonPlus(View view) {
    homeTouchdowns = homeTouchdowns + 1;
    textview_home_touchdowns.setText(homeTouchdowns+""); //Updating the TextView as String

}

public void homeTouchdownsButtonMinus(View view) {
    homeTouchdowns = homeTouchdowns - 1;
    textview_home_touchdowns.setText(homeTouchdowns+"");
}
感谢您的更正

[更新]

您的代码是正确的,但尚未完成,您必须调用TextView的方法
setText
,以更新视图数据,还必须在代码中映射TextView,因此您的代码将:

private TextView textview_home_touchdowns; //TextView where you will see the data

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    textview_home_touchdowns = (TextView) //Mapping the TextView
                                   findViewById(R.id.home_touchdowns_var);
}

public void homeTouchdownButtonPlus(View view) {
    homeTouchdowns = homeTouchdowns + 1;
    textview_home_touchdowns.setText(homeTouchdowns+""); //Updating the TextView as String

}

public void homeTouchdownsButtonMinus(View view) {
    homeTouchdowns = homeTouchdowns - 1;
    textview_home_touchdowns.setText(homeTouchdowns+"");
}

感谢您的更正

@DigaoParceiro是对的,您忘记调用setText(),但是如果您按照他那样做,它将引发异常,因为setText方法需要的是字符串而不是整数,请使用此方法

public void homeTouchdownButtonPlus(View view) {
    homeTouchdowns = homeTouchdowns + 1;
    textview_home_touchdowns.setText(String.valueOf(homeTouchdowns)); //Updating the View
}

public void homeTouchdownsButtonMinus(View view) {
    homeTouchdowns = homeTouchdowns - 1;
    textview_home_touchdowns.setText(String.valueOf(homeTouchdowns));
}

@DigaoParceiro是对的,您忘记调用setText(),但是如果您按照他那样做,它将引发异常,因为setText方法需要的是字符串而不是整数,请使用此方法

public void homeTouchdownButtonPlus(View view) {
    homeTouchdowns = homeTouchdowns + 1;
    textview_home_touchdowns.setText(String.valueOf(homeTouchdowns)); //Updating the View
}

public void homeTouchdownsButtonMinus(View view) {
    homeTouchdowns = homeTouchdowns - 1;
    textview_home_touchdowns.setText(String.valueOf(homeTouchdowns));
}

谢谢我尝试了这些修正,但仍然得到一个例外。Java9来澄清。然后发布日志。我尝试了这些修正,但仍然得到一个例外。Java9来澄清。然后发布日志