项目删除或重命名时更新ListView

时间:2013-12-02 21:36:52

标签: java android listview

我在选项卡Fragment中有以下代码:

    private SetRowsCustomAdapter adapter;
private ArrayList<SetRows> rowsArray = new ArrayList<SetRows>();

    for (Map.Entry<String, String> current_file:filesInFolder.entrySet()) {
     rowsArray.add(new SetRows(R.drawable.ic_launcher, current_file.getKey().toString(), current_file.getValue().toString()));
        }
         adapter = new SetRowsCustomAdapter(getActivity(), R.layout.customlist, rowsArray);
     dataList = (ListView) mFrame3.findViewById(R.id.lvFiles);
     dataList.setAdapter(adapter);
     }

getActivity().deleteFile(txt + ".trp");
adapter.remove(adapter.getItem(info.position));
adapter.notifyDataSetChanged();
startActivity(new Intent(getActivity(), MainActivity.class).putExtra("tab", 2));

删除ListView中的一行,然后启动新活动以显示更改。虽然我有adapter.notifyDataSetChanged(),但如果没有上面代码的最后一行删除行,它就不会显示更改。

有人可以帮我解决这个问题,以便在不开始新活动的情况下显示更改。

1 个答案:

答案 0 :(得分:0)

使用自定义适配器更好,这些链接将帮助您 Remove ListView items in Android How to remove arraylist item and then update listview

我认为你需要从arraylist中删除然后调用适配器setNotifyDataChange(),b&#39; cos当你调用这个函数时它从arraylist重新加载适配器。