2011-03-21 83 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

相关问题