0

我的应用程序中有一个 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;
4

2 回答 2

5

尝试以这种方式递增:

mCurrentIndex = (mCurrentIndex + mQuestionBank.length - 1)% mQuestionBank.length;
于 2013-06-01T08:28:38.843 回答
5

把事情简单化?

if (mCurrentIndex > 0)
    mCurrentIndex--;
else
    mCurrentIndex = mQuestionBank.length-1;
于 2013-06-01T08:24:44.210 回答