当我更改int值时,字符串中的int不变

时间:2019-01-09 07:56:11

标签: java android

因此,我正在编写使用字符串中的int值的代码(硬编码btw),它可以工作,但是当我通过单击按钮递增int的值时,字符串中的int不会随着增量而改变。

int indexOfQuestion= 1; 
numberOfQuestion.setText("Question " + indexOfQuestion + " from " + lengthOfQuestion + " :" );
switch(v.getId()):
case R.id.next:
indexOfQuestion = indexOfQuestion+1;

因此,当我单击按钮时,numberOfQuestion中的indexOfQuestion保持为1。如何在不使用冗长的冗长代码的情况下自动按预期进行更改?谢谢

2 个答案:

答案 0 :(得分:4)

实际上,每次单击按钮时,您实际上都在调用此语句:

 int indexOfQuestion = 1; 

您需要做的是更改int indexOfQuestion = 1;的范围,并将其移到方法主体之外。

public class Test {
     private int indexOfQuestion = 1; 
}

与其将其放入onClick函数中。

答案 1 :(得分:0)

它不会改变,因为在增加int值之前先设置了setText。 如果要应用更改,则应在增量后再次设置setText。

int indexOfQuestion= 1;

numberOfQuestion.setText("Question " + indexOfQuestion + " from " + lengthOfQuestion + " :" );
switch(v.getId()):
case R.id.next: indexOfQuestion = indexOfQuestion+1;
numberOfQuestion.setText("Question " + indexOfQuestion + " from " + lengthOfQuestion + " :" );