我可以请求帮助...我管理添加数据到数据库..但我有问题删除数据..因为我不能从我的ListView删除基于ID .. 。如何获得ID ?? ..这是我的代码..在ListActivity中删除数据库条目android
这个类的名称ViewActivity.java在那里我显示我的数据库内容...我只只在我的ListView显示一列
String query = "select * from " + helper.TABLE_PEKERJA;
Cursor c = database.rawQuery(query, null);
if(c!=null)
{
c.moveToFirst();
int getNamaIndex = c.getColumnIndex(helper.COL_NAMA);
if(c.isFirst())
{
do{
String nama = c.getString(getNamaIndex);
result.add(nama);
}while(c.moveToNext());
}
}
this.setListAdapter(new ArrayAdapter(this, android.R.layout.simple_list_item_1,result));
getListView().setTextFilterEnabled(true);
在我的DBHelper中,我创建了一个从我的数据库表中删除行的方法,这里是..
public void deleteData(SQLiteDatabase db, String id)
{
db.delete(TABLE_PEKERJA, COL_ID + " = " +id, null);
}
则仍然在班上ViewActivity.java,我在部分实施方法onListItemClick
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
DBHelper helper = new DBHelper(this);
database = helper.getWritableDatabase();
Object o = this.getListAdapter().getItem(position);
String keyword = o.toString();
helper.deleteData(database, keyword);
Toast.makeText(this, "Data " + keyword + " removed" , Toast.LENGTH_SHORT).show();
}
也得到这个error..this误差只有我可以查看......这个错误
Object o = this.getListAdapter().getItem(position);
02-09 02:34:23.729: E/Database(28923): at com.example.untukmuna.ViewContentActivity.onListItemClick(ViewContentActivity.java:69)
所以,我的问题是
1)如何删除我的数据库表行,当我按ListView中的项从ID 2)创建数据库时,有db.open()...但我应该在哪里关闭数据库购买放置db.close()...?
thanksss ~~希望大家明白我的问题..^_^