2015-05-21 2 views
0

Я пытаюсь получить идентификатор курсором в bindView в CursorAdapter. я писал, что:CursorAdapter get id by Cursor

public void bindView(View v,Context context2,Cursor cursor) { 
super.bindView(v, context, cursor); 
long id3= cursor.getLong(cursor.getColumnIndex("_id")); 
    . . . . 
} 

Тогда я звонить в deleteOne:

 delete.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
     mySQLiteAdapter.deleteOne(id3); 
     } 
}); 

Метод:

public boolean deleteOne(long id) { 
    return sqLiteDatabase.delete(TABLE_NAME, "_id=" + id, null) > 0; 
    } 

И я не получил какой-либо ошибки, но всегда, когда я нажимаю на удаление в любая строка, последняя строка (запись, просмотр) удалена.

Благодарим вас и жалею о моей грамматике.

ответ

0

Где установить id3? в теге вида? потому что я не вижу, где можно получить id3. Если вы arent ставите его в view.setTag(), а затем на onClick retreivin, тогда это проблема. У вас всегда будет последний id3, и именно поэтому u удаляет последнюю строку. Кроме того, я не вижу никаких уведомленийDatasetChange() в нашем onClick ...