我正在尝试做笔记应用程序,而我编写应用程序以删除特定行的方式就是这样-
第一-如果用户从recyclerView上点击任何cardView,则第一个活动将使用getAdapterPosition()转发cardView位置。
SECOND-第二个活动接收cardView的位置,以从SQLite数据库中删除特定行,我称之为“ totalNotes()”的方法,该方法将返回SQLite中存在的总行数数据库。最后,要删除该行,我需要使用getAdapterPosition()减去从'totalNotes()'方法接收的数字。
问题-他们以我的方式进行编程,仅当数据库中的行按顺序排列时才起作用。但是,当用户要从5行中删除行号3和2时,剩余行是1,4和5。如何使数据库在行删除后自动实现顺序顺序?
我已经在站点上研究了“几乎”类似的问题,但是当我尝试在我的代码中实现时,它们却失败了。我是Android开发的新手。
[演示图片] [2]
如何分配顺序ID?
答案 0 :(得分:1)
您不应基于连续的行号。几乎(如果不是全部)所有数据库在自动增量字段上具有相同的行为。从数据库中获取数据时,您还需要获取ID,并将ID保留在APP中,因此从数据库中删除时,您将基于该ID进行删除:
paginatedData
答案 1 :(得分:0)
使用顺序ID是不好的,因为当您使用Id = 5
删除记录时,添加到表中的下一条记录也不会是Id = 5
,而将是{{1 }},因此迟早会给您带来麻烦。
@Simion建议的方式是:
Id = 6
,并将其保存在变量中。Id
,这样您就可以将所需的任何内容用作deleteNote(noteId)
,而不必依赖Id
是连续的(就像我之前说的那样,通常是个坏主意)