2011-03-21 82 views
0

因此,我將數據存儲在IO文件中!我的數據被顯示,我想從列表視圖中刪除一個項目,我製作了這個代碼,並且我正在拍攝!從列表視圖和文件中刪除項目

L.setOnItemLongClickListener(new OnItemLongClickListener() { 

      @Override 
      public boolean onItemLongClick(AdapterView<?> arg0, View arg1, 
        final int arg2, long arg3) { 

       AlertDialog alert_reset; 
       AlertDialog.Builder builder = new AlertDialog.Builder(activity); 
       builder.setMessage("Supprimer cette donnée ?") 
         .setCancelable(false) 
         .setPositiveButton("Oui", 
           new DialogInterface.OnClickListener() { 
            @Override 
            public void onClick(DialogInterface dialog, 
              int id) { 
             ............. 
           updatelv(activity); 
            } 
           }) 
         .setNegativeButton("Non", 
           new DialogInterface.OnClickListener() { 
            @Override 
            public void onClick(DialogInterface dialog, 
              int id) { 
             dialog.cancel(); 
            } 
           }); 
       alert_reset = builder.create(); 
       alert_reset.show(); 

       return true; 
      } 

我有使用List.remove(arg2)? 並且爲了從文件中刪除數據,我該怎麼做? 謝謝。

回答

3

要從ListView中移除一個項目(這只是一些數據的顯示),您需要從支持ListAdapter的數據中移除項目。

一個常見的例子是一個包含列表的適配器。要從列表中刪除一個項目並更新ListView,你應該這樣做。

myList.remove(arg2); // remove the item 
myAdapter.notifyDataSetChanged(); // let the adapter know to update 
+0

是的,它會從ListView中刪除文件,但是當我再次讀取文件時,它會顯示它:\! – androniennn 2011-03-21 15:34:14

+0

然後也從磁盤上刪除文件。你的問題是關於從ListView中刪除某些東西的問題。 – 2011-03-21 15:42:24

+0

然後重新寫入新文件(刪除項目)? – androniennn 2011-03-21 18:21:57

0

恕我直言,最簡單的方法是先刪除文件中的條目,然後重新啓動「buildList」過程。由於舊文件不在文件中,新文件將不再顯示。

關於在文件中刪除,它更多的是基於Java的問題比Android,它也取決於你使用的商店格式(XML,JSON,自定義?)。您應該考慮使用更靈活且易於更新的數據庫。

+0

我必須同意在這裏使用數據庫。和重建列表的方式我不會那樣,因爲它會需要更多的處理時間來讀取整個列表againa更新後..與數據庫 - 當然,但與一個文件,我會建議做什麼@Robby說 – DArkO 2011-03-21 16:12:38

+0

是的,關於'ListView' @Robby解決方案是比較好的我承認 – tbruyelle 2011-03-21 20:17:40

相關問題