Android SQLite删除问题

Android SQLite删除问题,android,sqlite,Android,Sqlite,我刚开始在android上使用SQLite,我一直在努力解决我认为非常简单的设计问题 我有一个保存数据行的表,第一项是自动递增的id。显示DB的我的arrayadapter有一个如下的click方法:(它将id传递给下一个活动) 我的问题是: 有什么更好的方法可以做到这一点。我需要能够在数组适配器中显示SQLite表,并且能够通过单击适配器访问正确的行。假设表和数组适配器的id不匹配 为什么不为行模型创建POJO 根据您的表格: //use getters and setters instead

我刚开始在android上使用SQLite,我一直在努力解决我认为非常简单的设计问题

我有一个保存数据行的表,第一项是自动递增的id。显示DB的我的arrayadapter有一个如下的click方法:(它将id传递给下一个活动)

我的问题是:


有什么更好的方法可以做到这一点。我需要能够在数组适配器中显示SQLite表,并且能够通过单击适配器访问正确的行。假设表和数组适配器的id不匹配

为什么不为行模型创建POJO

根据您的表格:

//use getters and setters instead
public class Sat {
   public int id;
   public String name;
   public int userId;

   @Override
   public String toString() { return this.name; } //ListView/GridView item text
}
现在从数据库中读取填充
列表的所有表行。
然后,您可以使用
ArrayAdapter
,当您需要使用其位置获取一个特定项目时,您可以执行以下操作:

Sat item = adapter.getItem(position);
int id = item.id;

假设表中有多个列,您可以在int.putExtras()中传递任何其他值。如果您有一个包含id、name和dob列的表,那么您可以只传递名称而不是行。如果存在多个名称相同的问题,那么您可以请求用户输入。

1)如果ID很长,为什么要将其截断为
int
?这将使值发生更改。2) 我不明白您所说的“ID不再基于0”是什么意思3)定义“不再工作”。您的意思是表的rowid不是自动分配的吗?就像删除第二行一样,第三行不会自动变为第二行。这就是你想要完成的吗?我不认为把它转换成int是个问题。表中只有3个条目会中断。我的问题是如何从没有顺序行id的SQL表中填充arrayadapter,并在单击时访问数据。
//use getters and setters instead
public class Sat {
   public int id;
   public String name;
   public int userId;

   @Override
   public String toString() { return this.name; } //ListView/GridView item text
}
Sat item = adapter.getItem(position);
int id = item.id;