如何增加一个int变量的值?
How to increment the value of an int variable?
我想在用户点击按钮时增加 int 变量的值,但现在该值只增加一次。
这是我用来增加变量值的方法 p
。
@Override
public void onClick(View v) {
int p = 1;
if (p == 9) {
Toast.makeText(context, "You have reached to maximum number", Toast.LENGTH_LONG).show();
} else {
p = p + 1;
holder.textViewQuantity.setText("" + p);
}
}
当p
在方法内部时,它是一个局部变量,并且是每个方法调用的唯一值,每次都初始化为1
。
将它移动到 class 它成为一个 实例变量 (AKA 字段)并在 [=24= 的生命周期内保持其最新值]实例。
阅读 this doc on the 4 types of variables 了解更多信息。
private int p = 1; //moved
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(p == 9) {
Toast.makeText(context, "You have reached to maximum number", Toast.LENGTH_LONG).show();
return ;
}
else {
p = p+1;
holder.textViewQuantity.setText(""+p);
}
变量 p
应该是 class 成员:
int p = 1;
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(p == 9) {
Toast.makeText(context, "You have reached to maximum number", Toast.LENGTH_LONG).show();
return ;
}
else {
p = p+1;
holder.textViewQuantity.setText(""+p);
}
声明为全局变量。使其对整个 class 可见(我假设,您不会一次又一次地声明该对象)。目前变量的范围仅限于函数,每次事件发生时该变量的值都为 1。
每当调用此事件时,您的值 p 都会被分配值 1。
class YourClass{
int p; /// creating p
YourClass(){
p = 1; /// initializing the value in constructor;
}
// your onClick Event Code;
@Override
public void onClick(View v) {
if(p == 9) {
Toast.makeText(context, "You have reached to maximum number", Toast.LENGTH_LONG).show();
return ;
}
else {
p = p+1;
holder.textViewQuantity.setText(""+p);
}
}
将 int p = 1 移出函数,您将 p 重置为 1 onclick。
您的代码应该如下所示:
private int p = 1;
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(p == 9) {
Toast.makeText(context, "You have reached to maximum number", Toast.LENGTH_LONG).show();
return ;
}
else {
p = p+1;
holder.textViewQuantity.setText(""+p);
}
}
int p 应该是 class 成员。
您可以将您的变量设为静态,然后它将计算给定 class:
的所有按钮点击次数
class Button {
public static int p = 0;
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(p == 9) {
Toast.makeText(context, "You have reached to maximum number", Toast.LENGTH_LONG).show();
return ;
}
else {
p = p+1;
holder.textViewQuantity.setText(""+p);
}
}
私人 int p = 0;
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
p+=1;
if(p<9)
holder.textViewQuantity.setText(String.valueof(p));
else
Toast.makeText(context, "You have reached to maximum number", Toast.LENGTH_LONG).show();
}
我想在用户点击按钮时增加 int 变量的值,但现在该值只增加一次。
这是我用来增加变量值的方法 p
。
@Override
public void onClick(View v) {
int p = 1;
if (p == 9) {
Toast.makeText(context, "You have reached to maximum number", Toast.LENGTH_LONG).show();
} else {
p = p + 1;
holder.textViewQuantity.setText("" + p);
}
}
当p
在方法内部时,它是一个局部变量,并且是每个方法调用的唯一值,每次都初始化为1
。
将它移动到 class 它成为一个 实例变量 (AKA 字段)并在 [=24= 的生命周期内保持其最新值]实例。
阅读 this doc on the 4 types of variables 了解更多信息。
private int p = 1; //moved
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(p == 9) {
Toast.makeText(context, "You have reached to maximum number", Toast.LENGTH_LONG).show();
return ;
}
else {
p = p+1;
holder.textViewQuantity.setText(""+p);
}
变量 p
应该是 class 成员:
int p = 1;
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(p == 9) {
Toast.makeText(context, "You have reached to maximum number", Toast.LENGTH_LONG).show();
return ;
}
else {
p = p+1;
holder.textViewQuantity.setText(""+p);
}
声明为全局变量。使其对整个 class 可见(我假设,您不会一次又一次地声明该对象)。目前变量的范围仅限于函数,每次事件发生时该变量的值都为 1。
每当调用此事件时,您的值 p 都会被分配值 1。
class YourClass{
int p; /// creating p
YourClass(){
p = 1; /// initializing the value in constructor;
}
// your onClick Event Code;
@Override
public void onClick(View v) {
if(p == 9) {
Toast.makeText(context, "You have reached to maximum number", Toast.LENGTH_LONG).show();
return ;
}
else {
p = p+1;
holder.textViewQuantity.setText(""+p);
}
}
将 int p = 1 移出函数,您将 p 重置为 1 onclick。
您的代码应该如下所示:
private int p = 1;
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(p == 9) {
Toast.makeText(context, "You have reached to maximum number", Toast.LENGTH_LONG).show();
return ;
}
else {
p = p+1;
holder.textViewQuantity.setText(""+p);
}
}
int p 应该是 class 成员。
您可以将您的变量设为静态,然后它将计算给定 class:
的所有按钮点击次数class Button {
public static int p = 0;
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(p == 9) {
Toast.makeText(context, "You have reached to maximum number", Toast.LENGTH_LONG).show();
return ;
}
else {
p = p+1;
holder.textViewQuantity.setText(""+p);
}
}
私人 int p = 0;
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
p+=1;
if(p<9)
holder.textViewQuantity.setText(String.valueof(p));
else
Toast.makeText(context, "You have reached to maximum number", Toast.LENGTH_LONG).show();
}