我有一个适配器和RecyclerView来显示本地保存的联系人列表。当用户单击条目时,将启动一个新活动,可以在其中编辑它。但是,我也想在最底部有一个“删除”按钮来删除条目,然后返回到适配器活动。使用Room的删除查询,否则,如何从EditContact活动中删除条目?
在ContactDao中,我有以下内容:
// Delete single entry
@Query("DELETE FROM contacts_table WHERE id = :userId")
void deleteByContactId(long userId);
ContactRepository:
public void delete(Contact contact) {
new DeleteContactAsyncTask(contactDao).execute(contact);
}
private static class DeleteContactAsyncTask extends AsyncTask<Contact,Void,Void> {
private ContactDao contactDao;
private DeleteContactAsyncTask(ContactDao contactDao) {
this.contactDao = contactDao;
}
@Override
protected Void doInBackground(Contact... contacts) {
contactDao.delete(contacts[0]);
return null;
}
}
最后,我要在EditContact中删除单击时的条目:
public void deleteContact(View view) {
// Delete the entry based on the ID
}