从列表视图中删除行

时间:2014-08-05 21:18:41

标签: android listview row

我想删除列表视图中的一行。我正在使用DataBaseOpenHelper。这些行包含两个字段:id_persona和name。

myListView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
            @Override
               public boolean onItemLongClick(AdapterView<?> adapterView, View view, int i, long l) {
                     int id_person = HOW !!!!!!!!
                     personasDBAdapter.deletePerson(id_person);
               }
});

如何连续获取id_persona字段?我不想要排位。我已经在DataBaseOpenHelper类中实现了deletePerson方法。

                 id_person  name
row 1 listview         234  John
row 2 listview         138  Anna
row 3 listview          64  Phil

我想要&#39; 234&#39;或&#39; 138&#39;,而不是第1行或第2行。

2 个答案:

答案 0 :(得分:0)

int id_person = i

它为您提供了行的索引,然后是

.remove(adapter.getItem(i));

答案 1 :(得分:0)

onItemsLongClick的签名如下所示:

onItemLongClick(AdapterView<?> parent, View view, int position, long id)

所以什么&#34; int i&#34;在你的代码中实际上是你的适配器中项目的位置。

访问项目调用adapter.getItem(postion)。

Person person = (Person)adapter.getItem(postion);
int id = person.getIdPersona();