Кнопка listview "назад" и "далее"

Я использую listView, чтобы изменить значение вот мой код. Но это не остановится. когда Listview последний индекс нет. предположим, 10, тогда это крах. как мне остановить следующую кнопку, когда listView закончится.

btnNext.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            txtOne.setText(letter[lastView+1]);
            txtTwo.setText(letterDetails[lastView+1]);
            txtThree.setText(letterB[lastView+1]);

            lastView++;

            if (lastView == letter.length){
                lastView=0;
                Toast.makeText(getApplicationContext(), lastView+" ", Toast.LENGTH_SHORT).show();
            }

        }
    });
    btnPrevious.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            txtOne.setText(letter[lastView-1]);
            txtTwo.setText(letterDetails[lastView-1]);
            txtThree.setText(letterB[lastView-1]);
            lastView--;
        }
    });

И предыдущийBtn, когда индекс listView равен 0, тогда, если я нажму предыдущую кнопку, программа выйдет из строя. Что я могу сделать сейчас,

Alwayss Bijoy 10.08.2018 14:55
0
1
46
1

Ответы 1

В основном letter.length возвращает размер массива. Предположим, у вас есть 10 элементов в массиве, тогда индекс будет 0-9. Причина сбоя вашего приложения связана с ошибкой выхода за пределы массива. Что вам нужно сделать, это просто добавить эту строку в свое условие if.

Код

if (lastView == (letter.length-1))

это работа, братан, большое спасибо, я просто создаю иначе если и в условии, если lastView<9иначе если и ваш заданный код, спасибо братан

Alwayss Bijoy 10.08.2018 15:09

Другие вопросы по теме