В настоящее время, в другом class
, мне нужно удалить 1 элемент, когда я загружаю успешный файл с вызовом deleteCallWhenUploadSuccess
. В этом классе я использую fileName
определенному предмету, который необходимо удалить.Как удалить элемент из списка на Android с помощью SQLiteOpenHelper?
Но это не удаляет элемент в ListView из Layout activity_call_history.xml
В классе DAO я удалю с кодом:
public void deleteCallWhenUploadSuccess(String fileNameWhis)
{
db = callDatabaseHelper.getWritableDatabase();
String where = CallDatabaseHelper.FILE_NAME + "='" + fileNameWhis + "'";
db.delete(CallDatabaseHelper.TABLE_NAME, where, null);
}
И в другом классе я его с помощью:
DAO.deleteCallWhenUploadSuccess(filename);
Я пишу код, чтобы удалить элемент в ListView в случае onActionItemClicked.
На DAO class
я начинаю удалить элемент с RowId:
public void deleteCallV2(int rowId) {
db = callDatabaseHelper.getReadableDatabase();
Cursor cursor = db.rawQuery("select * from "+CallDatabaseHelper.TABLE_NAME+" where rowId = "+String.valueOf(rowId),null);
while(cursor.moveToNext()){
this.rowId = CallDatabaseHelper.ROW_ID +"="+cursor.getString(cursor.getColumnIndex(CallDatabaseHelper.ROW_ID));
}
db.delete(CallDatabaseHelper.TABLE_NAME, this.rowId, null);
}
код, я использовал, чтобы удалить элемент в ListView компоновочных historyAdapter кода записи в HistoryFragment.java, я был комментарий в коде для легкого чтения:
@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
switch (item.getItemId()) {
case R.id.deleteAction:
// Calls getSelectedIds method from ListViewAdapter Class
selected = historyAdapter
.getSelectedIds();
// Captures all selected ids with a loop
for (int i = (selected.size() - 1); i >= 0; i--) {
if (selected.valueAt(i)) {
Call selecteditem = historyAdapter
.getItem(selected.keyAt(i));
// Remove selected items following the ids
historyAdapter.remove(selecteditem);
}
}
getFragmentManager().beginTransaction().replace(R.id.container,new HistoryFragment()).commit();
// Close CAB
mode.finish();
return true;
case R.id.allAction:
historyAdapter.toggleAll(listView);
Toast.makeText(getActivity(), "Đã chọn tất cả", Toast.LENGTH_SHORT).show();
return true;
default:
return false;
}
}
Но это работает, когда я выбираю элемент с длинным нажатием и выбираю элемент или выбираю все, чтобы удалить. Он использует ID для удаления элемента.
Трудный был языку меня. Я не понимал. :) –