android应用程序中的ArrayIndexOutOfBoundsException

0 java eclipse android imagebutton indexoutofboundsexception

我的应用程序中有一个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();
    }
}
Run Code Online (Sandbox Code Playgroud)

这样做的正确方法是什么:

mCurrentIndex = (mCurrentIndex - 1) % mQuestionBank.length;
Run Code Online (Sandbox Code Playgroud)

Adr*_*zyk 5

把事情简单化?

if (mCurrentIndex > 0)
    mCurrentIndex--;
else
    mCurrentIndex = mQuestionBank.length-1;
Run Code Online (Sandbox Code Playgroud)


cdr*_*r89 5

尝试以这种方式增加:

mCurrentIndex = (mCurrentIndex + mQuestionBank.length - 1)% mQuestionBank.length;
Run Code Online (Sandbox Code Playgroud)