删除行后,Android SQLite更新所有ID

时间:2018-12-17 12:08:10

标签: android sqlite android-studio android-sqlite

我的英语不是很好。抱歉。我正在尝试学习做Android应用程序。但是我有一个问题。我正在添加Android SQlite内容。我正在一一吸引他们。我使用按钮进行上一个和下一个分页。 Next = id+1Previous = id-1 到目前为止,一切正常。但是当我删除这些内容时,id仍然为空。

例如 id-名称-年龄

1-名称-26

2-名称-32

3-名称-31

4-名称-21

当我删除I​​D内容2时

id-名称-年龄

1-名称-26

3-名称-31

4-名称-21

我无法获取内容,因为当我按下“下一步”按钮时,id为空。 我怎么解决这个问题? 每次删除后可以重置ID值吗?

id-名称-年龄

1-名称-26

2-名称-31

3-名称-21

请帮助我。

2 个答案:

答案 0 :(得分:2)

您需要从列表中的表1中获取所有行,并按如下所示依次遍历下一个和上一个按钮。 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))
                    }
                }
            });

答案 1 :(得分:0)

删除行后,SQLite自动递增ID的工作方式将是一致的(例如,如果删除行ID 2,则行ID 1和3将保持相同的值),因此再次使ID连续的唯一方法是:手动移动条目或复制行,删除表,创建新表并再次插入行。

但是,如果您仅将本地存储用于视图,则始终可以使用limit子句来获取数据库的一部分以供查看。