2013-01-09 29 views
-1

如何刪除列表項並使用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(); 
     } 

我怎麼能一個項目的刪除之後更新我的列表視圖?

這是我如何設置數據列表視圖:

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(); 
+0

你的問題是什麼,是不是從數據庫中刪除行?否則它不在列表視圖上更新 – TNR

+0

它不更新列表視圖? – Shweta

+0

因此,發佈您的Adapter類的代碼以及如何將其設置爲您的ListView。因爲數據庫的代碼無助於回答你的問題。 – vorrtex

回答

1

根據你comment你成功刪除的行項目,但未能及時更新您的列表視圖,

所以每當一些變化在listview數據中,你應該通過notifyDataSetChanged()這個adapter.notifyDataSetChanged()來通知你的adater,它會反映在你的listview中是否有一些項目被添加或刪除。

希望它的作品!

+0

嗨,是的我正在嘗試做同樣的事情,但它給錯誤,空指針異常和強制關閉。 – Shweta

+0

@Shweta在哪裏?什麼?什麼時候? – RobinHood

+0

我是否需要在Listview中更改某些內容? – Shweta

相關問題