Android,字符串数组不能从 [0] 到 [6(last String)]

每当我的 back_button 到达 String[0] 并且我尝试向后退时,我的应用程序就会崩溃。


而不是简单地从 String[0] 到我当前的最后一个字符串 [6] 并继续向后走(如果满足条件),为什么它不这样做?


我的那个按钮的代码,顺便说一句,我是编程新手,我知道我的代码非常垃圾..但是,这是另一个主题,请xD:


  back_button.setOnClickListener(new View.OnClickListener() {

        @Override

        public void onClick(View v) {

            forward_button.setVisibility(View.GONE);

            backButton();


            if (mediator == 10) {


                forward_button.setVisibility(View.VISIBLE);

                backk--;

                display.setText(list[backk]);

            }



            if (backk == currentnumber-5 ) {

                back_button.setClickable(false);

            }

            if (backk != currentnumber-5) {

                back_button.setClickable(true);

                back_button.setEnabled(true);

            }




            if (mediator != 10){

                back_button.setEnabled(false);

                display.setText(list[currentnumber]);


            }

        }




    });

顺便提一句。我认为这可能与我其他人的按钮逻辑中的此代码有关,也许在从 String [0] 到 String [last string(6)] 时有一个类似的函数可以调用?


  if (currentnumber == list.length) {

                currentnumber = 0;

                backk = 0;

                back = 1;

编辑:我删除了 if ( backk < 0 ) { ... ,我不知道为什么它在那里开始,抱歉,那不应该在那里。


互换的青春
浏览 145回答 1
1回答

Cats萌萌

在您的块中,进行以下更改:if (mediator == 10) {&nbsp; &nbsp; forward_button.setVisibility(View.VISIBLE);&nbsp; &nbsp; backk--;&nbsp; &nbsp; // If we go below the size of the array, add the array&nbsp; &nbsp; // size to loop back to the last element in the array&nbsp; &nbsp; if (backk < 0){&nbsp; &nbsp; &nbsp; &nbsp; backk += list.length;&nbsp; &nbsp; }&nbsp; &nbsp; display.setText(list[backk]);}如果您解释了您要完成的工作并发布更多代码,我可能会帮助清理您的代码,并附上有关我为何做出选择的评论。但是上面的更改将修复该数组越界崩溃。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java