//the following function 'listens to the click' - here we are using an 'item click listener' which gives you a number of which one was clicked
lv_customerList.setOnItemClickListener((parent, view, position, id) -> {
//getting the customer that was just clicked to send it to the method to delete
//the parent of the listener is the listview
CustomerModel clickedCustomer = (CustomerModel) parent.getItemAtPosition(position); //this tells me which person was just clicked
//now we call the "deleteOne" function from the databaseHelper class
dataBaseHelper.deleteOne(clickedCustomer);
//now we update the list view
ShowCustomersOnListView(dataBaseHelper);
Toast.makeText(MainActivity.this, "Deleted" + clickedCustomer,Toast.LENGTH_SHORT).show();
});
这是主活动中的代码
//creating a new function that will delete contents from a database
public boolean deleteOne(CustomerModel customerModel) {
//find customerModel in the database. if is is found, delete it and return true, otherwise return false
SQLiteDatabase db = this.getWritableDatabase();
String queryString = "DELETE FROM" + CUSTOMER_TABLE + "WHERE" + CUSTOMER_ID + " = " + customerModel.getId();
Cursor cursor = db.rawQuery(queryString, null);
if (cursor.moveToFirst()) {
return true;
}
else {
return false;
}
}
这是来自DatabaseHelper活动的代码
我遵循了https://youtu.be/312RhjfetP8教程,并完全复制了代码(尽管Android IDE建议更改...
new AdapterView.OnItemClickListener()
转换为lambda(在mainactivity的方法中)
但现在每当我点击应用程序中的一行(看视频了解我的意思)-应用程序只是崩溃,我不知道为什么:(
有人能帮帮我吗?
太感谢你了!
2条答案
按热度按时间htzpubme1#
我敢肯定,您在查询String中遗漏了很多空格字符。
应改为
6l7fqoea2#