我试图制作一个简单的应用,其中点击tapb Button
会增加notaps的变量值,重置Button
会将其设置为0.当我点击tapb
时,它会递增价值与价值点击reset
会重置它,但当我再次点击tabp
时,它会从之前的值开始增加。
例如:
init value of notaps = 0;
我点击tabp
3次,notaps
值= 3
点击reset
和notaps
值= 0
我点击tabp
3次,notaps
值= 4
Button tapb = (Button)findViewById(R.id.tapb);
Button reset = (Button)findViewById(R.id.reset);
tapb.setOnClickListener(
new Button.OnClickListener(){
int notaps = 0;
@Override
public void onClick(View v) {
TextView taps = (TextView)findViewById(R.id.taps);
notaps++;
taps.setText(String.valueOf(notaps));
}
}
);
reset.setOnClickListener(
new Button.OnClickListener() {
@Override
public void onClick(View v) {
TextView taps = (TextView) findViewById(R.id.taps);
int notaps=0;
taps.setText(String.valueOf(notaps));
}
}
);
答案 0 :(得分:4)
首先,您有两个名为int
的{{1}}实例,彼此无关。您的重置按钮未设置正确的notaps
变量。
这是一个应该有效的片段。
notaps
答案 1 :(得分:-1)
尝试全局声明你的notaps变量意味着每个你声明按钮的地方都声明你的notaps变量,这就是我的意思。
Button tapb = (Button)findViewById(R.id.tapb);
Button reset = (Button)findViewById(R.id.reset);
int notaps = 0; // declare variable globally
tapb.setOnClickListener(
new Button.OnClickListener(){
@Override
public void onClick(View v) {
TextView taps = (TextView)findViewById(R.id.taps);
taps.setText(String.valueOf(++notaps));
}
}
);
reset.setOnClickListener(
new Button.OnClickListener() {
@Override
public void onClick(View v) {
TextView taps = (TextView) findViewById(R.id.taps);
taps.setText(String.valueOf(notaps=0));
}
}
);