我有一个简单的事实应用程序,它有一系列不同的事实。 我有一个下一个,上一个和主页按钮。 当按下主页按钮时,我希望第一个事实再次显示,之后,它将从第一个数组值开始再次递增。
我的主页按钮无效。如果我点击下一个按钮5次,然后按下主页按钮,我将被引导到第一个事实,但如果我按下下一个按钮,那么第6个事实将显示,而不是第二个。
这是我的代码:
public String nextFact() {
i++;
if(i >= facts.length) {
i = 0;
}
return facts[i];
}
public String previousFact() {
i--;
if(i < 0) {
i = facts.length - 1;
}
return facts[i];
}
public String homeButton() {
int i = 0;
return facts[i];
}
答案 0 :(得分:4)
您宣布i
的新本地版本。
它应该是:
public String homeButton() {
i = 0;
return facts[i];
}
答案 1 :(得分:-1)
根据你的代码,我假设i是三种方法共享的变量,它跟踪当前显示的问题的索引。如果是这种情况,您的方法应该将类成员i重置为0,而不是创建局部变量。
public String homeButton() {
i = 0;
return facts[i];
}
这应该可以解决问题。