我的应用程序中有一个ArrayIndexOutofBounds异常。我想在应用程序中放置上一个按钮。我的数组中有5个元素,按钮循环显示。当用户点击element [0]时,它将如何循环回到element [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;
最佳答案
把事情简单化?
if (mCurrentIndex > 0)
mCurrentIndex--;
else
mCurrentIndex = mQuestionBank.length-1;