У меня есть приложение для заметок, которое хранит заметки в базе данных sqlite и отображает их в виде утилиты.В моем представлении рециркулятора есть ничья, и я хочу удалить строку базы данных, щелкнув по ней.с кодом, который я написал, когда я нажимаю на изображение, элемент повторного просмотра исчезает, но когда я снова открываю приложение, заметка все еще там.Я не знаю, как удалить его.вот мой код:
public class ModelRs {
private String title;
private String content;
int id ;
public void setId(int id) {
this.id = id;
}
public int getId() {
return id;
}
вот мой класс Databasehelper и методы вставки и удаления
public void insert(ModelRs modelRs) {
ContentValues values = new ContentValues();
values.put(c_title, modelRs.getTitle());
values.put(c_content, modelRs.getContent());
values.put(c_id,modelRs.getId());
try {
this.getWritableDatabase().insert(t_name, null, values);
} catch (Exception e) {
e.printStackTrace();
}
}
public List<ModelRs> list() {
List<ModelRs> list = new ArrayList<>();
Cursor c = this.getWritableDatabase().query(t_name, new String[]{c_id, c_title, c_content}, null, null, null, null, null);
if (c.moveToFirst()) {
do {
ModelRs modelRs = new ModelRs();
modelRs.setTitle(c.getString(c.getColumnIndex(c_title)));
modelRs.setContent(c.getString(c.getColumnIndex(c_content)));
list.add(modelRs);
} while (c.moveToNext());
}
return list;
}
public void delete(int id) {
SQLiteDatabase sqLiteDatabase = getWritableDatabase();
sqLiteDatabase.delete(t_name, c_id + "=" + id, null) ;
}
}
вот мой адаптер recyclerview.метод прослушивания изображения при щелчке находится в классе держателя представления
@Override
public void onBindViewHolder(AdapterRs.ViewHolderMain holder, final int position) {
final ModelRs model = modelRs.get(position);
holder.TextView_title.setText(model.getTitle());
holder.TextView_content.setText(model.getContent());
}
class ViewHolderMain extends RecyclerView.ViewHolder{
private TextView TextView_title;
private TextView TextView_content;
private ImageView ImageDelete ;
int id;
public ViewHolderMain(View itemView) {
super(itemView);
TextView_title=itemView.findViewById(R.id.TextView_title);
TextView_content=itemView.findViewById(R.id.TextView_content);
ImageDelete = itemView.findViewById(R.id.deleteicon) ;
itemView.setClickable(true);
ImageDelete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
id = getAdapterPosition() ;
mydatabase = new DataBaseHelper(context) ;
mydatabase.delete(id);
modelRs.remove(id) ;
notifyItemRemoved(id);
notifyDataSetChanged();
}
});
}
}
Я новичок в базе данных SQLite.Пожалуйста, помогите мне, если вы можете