Android SQLite обновляет все идентификаторы после удаления строки - PullRequest
0 голосов
/ 17 декабря 2018

Мой английский не очень хорош.Сожалею.Я пытаюсь научиться делать приложение для Android.Но у меня есть проблема.Я добавляю контент Android SQlite.И я получаю их один за другим.Я делаю предыдущий и следующий пейджинг с помощью кнопок.Next = id+1, Previous = id-1 Пока все нормально.Но когда я удаляю это содержимое, идентификатор остается пустым.

например. id - имя - возраст

1 - имя - 26

2 - имя - 32

3 - имя - 31

4 - Имя - 21

, когда я удаляю содержимое идентификатора 2

идентификатор - имя - возраст

1 - Имя - 26

3 - Имя - 31

4 - Имя - 21

Я не могу получить контент, потому что идентификатор пуст, когда я нажимаю кнопку Далее.Как я могу решить эту проблему?Можно ли сбрасывать значения идентификатора после каждого удаления?

id - имя - возраст

1 - имя - 26

2 - имя - 31

3 - Имя - 21

Пожалуйста, помогите мне.

Ответы [ 2 ]

0 голосов
/ 17 декабря 2018

вам нужно получить всю строку из таблицы один в списке, а затем перейти к следующему и предыдущему кнопкам.int currentIndex = 0

     nextButton.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    if(currentIndex<dataList.size()-1)
                    {
                     currentIndex++;
                     setCurrentItem(dataList.get(currentIndex));
                    }
                }
            });
 previuosButton.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    if(currentIndex>0)
                    {
                     currentIndex--;
                     setCurrentItem(dataList.get(currentIndex))
                    }
                }
            });
0 голосов
/ 17 декабря 2018

Способ работы SQLite для автоинкрементного идентификатора будет постоянным после удаления строк (например, если вы удалите идентификатор строки 2, строки 1 и 3 сохранят одно и то же значение), поэтому единственный способ сделать идентификаторы последовательными снова - этопереместите записи вручную вокруг или скопируйте строки, удалите таблицу, создайте новую и вставьте строки снова.

Если вы используете локальное хранилище только для представления, вы всегда можете использовать ограничениепункт, чтобы получить выбранную часть вашего БД для просмотра.

...