2016-10-04 106 views
0

我創建一個ListView,它是從SQLite數據庫填充的,並且長按一下ListView項目我提供一個帶有兩個按鈕的DialogBox刪除和取消。單擊刪除按鈕我想從SQLite數據庫中刪除該ListView項。但我沒有在數據庫中添加任何主鍵。那麼如何刪除它的Item Position。如何從LongClick上的數據庫中刪除ListView項目?

+0

從數據庫中刪除後,重新加載的ListView,調用notifyDataChanged函數重載列表以及主鍵,先用選擇的位置獲得的項目,然後讓主鍵 –

+0

我也這樣做,但它從列表視圖項刪除不從數據庫 –

+0

http://stackoverflow.com/questions/31771636/delete-item-from-both-database-and-listview-on-clicking-delete-button –

回答

3
ArrayList<Object> items = query from sqlite; <--- notice 
then set items to listView adapter 
enter code here 

在onitem單擊

@Override 
public void onItemClick(final AdapterView<?> parent, View arg1, final int **position**, long arg3) 
{ 

    .... 
    builder.setPositiveButton("OK", 
    new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, int id) { 


     Integer deleteItem= 
      databaseHelper.delete_byID 
      (items.get(**position**).primaryKey); <----- change this 

         if(deleteItem>0) 

          Toast.makeText(getContext(), "Successfully Deleted", Toast.LENGTH_SHORT).show(); 
         else 
          Toast.makeText(getContext(), "Not", Toast.LENGTH_SHORT).show(); 



        } 
       }); 
     builder.show();][1] 

,並重新加載列表視圖的ListView從太將其刪除;

0

您可以在文本視圖能見度傳遞View.GONE

+0

在列表視圖中添加一個文本視圖,並將可見性消失,並獲取您的編號列表視圖並將其傳遞到您的查詢中 –

相關問題