从ListView和文件中删除项目

时间:2011-03-21 15:12:46

标签: android listview arraylist

所以,我将我的数据存储在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)吗? 要删除文件中的数据,我该怎么做? 谢谢。

2 个答案:

答案 0 :(得分:3)

要从ListView中删除项目(这只是某些数据的显示),您需要从支持ListAdapter的数据中删除该项目。

一个常见示例是包含列表的适配器。要从列表中删除项目并更新ListView,您可以执行以下操作。

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

答案 1 :(得分:0)

恕我直言,最简单的方法是先删除文件中的条目,然后重新启动“buildList”进程。由于旧条目不再存在于文件中,新列表将不再显示它。

关于在文件中删除,它更像是一个基于java的问题而不是Android,它还取决于你使用的商店格式(xml,json,custom?)。您应该考虑使用更灵活,更易于更新的数据库。