Java 增量Int onClick
这里是noobandroid开发者 我正在为Android创建一个基本的美式足球记分应用程序。我试图用XML按钮的时钟增加一个变量值 由于某些原因,当单击“增量”按钮时,变量未按需要更新。我肯定我错过了一些基本的东西,但似乎无法破解它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"
<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来澄清。然后发布日志