我的应用程序中有一个ArrayIndexOutofBounds异常。我想在我的应用程序中放置一个前一个按钮。我的数组中有5个元素按钮循环。如何在用户点击元素[0]时这样做,它将循环回元素[4]而不是转到[-1]导致异常?
我的代码如下:
mPrevButton = (ImageButton)findViewById(R.id.prev_button);
mPrevButton.setOnClickListener (new View.OnClickListener() {
@Override
public void onClick(View v) {
mCurrentIndex = (mCurrentIndex - 1) % mQuestionBank.length;
mIsCheater = false;
updateQuestion();
}
}
这样做的正确方法是什么:
mCurrentIndex = (mCurrentIndex - 1) % mQuestionBank.length;
答案 0 :(得分:5)
保持简单?
if (mCurrentIndex > 0)
mCurrentIndex--;
else
mCurrentIndex = mQuestionBank.length-1;
答案 1 :(得分:5)
尝试以这种方式增加:
mCurrentIndex = (mCurrentIndex + mQuestionBank.length - 1)% mQuestionBank.length;