Могу ли я попросить о помощи ... мне удается добавить данные в базу данных .. но у меня проблема с удалением данных ... потому что я не могу удалить на основе ID из моего ListView. .Как получить идентификатор ?? .. это мой код ..удалить запись базы данных в 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 ~~ надеюсь, что вы все поняли мой вопрос ..^_^
спасибо за вас код ... я использую вам код, но я не копировать all..just принять участие onListItemClick..but, когда я бегу, его показывает ошибку..который говорит indexoutofbound ... я отредактирую и скопирую результат для вас при моем ответе ниже. – iWantToLearn
вы получаете ошибку, потому что пытаетесь получить что-то из коллекции, которая не была заполнена все же. 'idList.add (c.getLong (getIdIndex));' является критическим. которые нельзя опустить. – mango
yeaaahhh .. !!! ... это работаетsss ..... так много много много спасибо за вас @mango .... – iWantToLearn