为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

互换的青春 2021-09-26 17:43:25
每当我的 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 ) { ... ,我不知道为什么它在那里开始,抱歉,那不应该在那里。
查看完整描述

1 回答

?
Cats萌萌

TA贡献1805条经验 获得超9个赞

在您的块中,进行以下更改:


if (mediator == 10) {


    forward_button.setVisibility(View.VISIBLE);

    backk--;


    // If we go below the size of the array, add the array

    // size to loop back to the last element in the array

    if (backk < 0){

        backk += list.length;

    }

    display.setText(list[backk]);

}

如果您解释了您要完成的工作并发布更多代码,我可能会帮助清理您的代码,并附上有关我为何做出选择的评论。但是上面的更改将修复该数组越界崩溃。


查看完整回答
反对 回复 2021-09-26
  • 1 回答
  • 0 关注
  • 144 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信