如何使用上下文菜单删除行?

时间:2013-01-09 06:55:39

标签: android database listview contextmenu

如何使用onContextItemSelected删除列表项并获取更新列表?

如何使用上下文菜单删除行?

代码:

case R.id.Delete_Note:
            Database_Notepad db=new Database_Notepad(Create_Task.this);
            db.DeleteNote();

            break;

我的数据库:

public void DeleteNote(int rowId) {
            SQLiteDatabase db = this.getWritableDatabase();
            db.delete(Table_Notepad, Col_ID + " = ?", new String[] { String.valueOf(rowId) });
            db.close();
        }

如何在删除项目后更新我的列表视图?

这就是我将数据设置为listview的方式:

Database_Notepad db = new Database_Notepad(Create_Task.this); Cursor c = db.Get_All_Note(); 
String[] from = new String[] {Database_Notepad.Col_File_Name,Database_Notepad.Col_Due_Date}; 
int[] to = new int[] {R.id.titlename, R.id.duedatetext}; 
SimpleCursorAdapter madapter = new SimpleCursorAdapter(Create_Task.this, R.layout.file_row, c, from, to); 
 this.setListAdapter(madapter); 
getListView().setOnItemClickListener(this); 
registerForContextMenu(getListView()); 
db.close();

1 个答案:

答案 0 :(得分:1)

根据您的comment,您成功删除了行项目,但未能更新列表视图,

因此,只要对listview数据进行了一些更改,您就应该通过应用此adapter.notifyDataSetChanged() notifyDataSetChanged()来通知您的广告,如果添加或删除某些项目,它将反映在您的列表视图中。

希望它有效!