我尝试从数据库中删除phoneNumber但它无法正常工作。我该如何删除phoneNumber 来自数据库。我搜索了以前的帖子,但我发现代码在这里的相同解决方案。但没有工作
//删除特定号码
public boolean deleteNumber(String phoneNumber)
{
return db.delete(DATABASE_TABLE, KEY_PHONENUMBER + "=" + phoneNumber, null) > 0;
}
//列表视图代码在这里
//在ListView中显示数字 setListAdapter(new ArrayAdapter(this,android.R.layout.simple_list_item_1,listOfPhoneNumber));
listView.setLongClickable(true);
listView.setOnItemLongClickListener(new OnItemLongClickListener() {
// On Long Click Listener
@Override
public boolean onItemLongClick(AdapterView<?> adapterView, View view, int position, long id) {
Toast.makeText(ViewNumber.this,listView.getItemAtPosition(position).toString(), Toast.LENGTH_SHORT).show();
numberToDelete = listView.getItemAtPosition(position).toString();
// PopUp Menu
PopupMenu popupMenu = new PopupMenu(ViewNumber.this, view);
getMenuInflater().inflate(R.menu.popupmenu_viewnumber, popupMenu.getMenu());
popupMenu.show();
popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
if (item.getItemId() == R.id.delete) {
Toast.makeText(ViewNumber.this, "Deleted", Toast.LENGTH_SHORT).show();
// deleting number from database
db.open();
boolean check = db.deleteNumber(numberToDelete);
db.close();
if(check == true)
{
Log.d("NUMBER del from db", numberToDelete);
}
Log.d("numberToDelete", "" +numberToDelete);
}
if (item.getItemId() == R.id.edit) {
Toast.makeText(ViewNumber.this, "Edit", Toast.LENGTH_SHORT).show();
}
return false;
}
});
return false;
}
});
}
提前致谢
答案 0 :(得分:0)
public boolean deleteNumber(String phoneNumber)
{
if(db.delete(DATABASE_TABLE, KEY_PHONENUMBER + "=?", new String[] {phoneNumber})>0){
return true;
}else{
return false;
}
}
public int delete(String table,String whereClause,String [] whereArgs) 在API级别1中添加 删除数据库中行的便捷方法。
参数
table 要从
中删除的表格whereClause 删除时要应用的可选WHERE子句。传递null将删除所有行。
whereArgs 您可以在where子句中包含?s,它将被whereArgs中的值替换。值将绑定为 字符串。
返回传入whereClause时受影响的行数,否则返回0。删除所有行并获得计数通过“1”作为 whereClause。