我在选项卡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()
,但如果没有上面代码的最后一行删除行,它就不会显示更改。
有人可以帮我解决这个问题,以便在不开始新活动的情况下显示更改。
答案 0 :(得分:0)
使用自定义适配器更好,这些链接将帮助您 Remove ListView items in Android How to remove arraylist item and then update listview
我认为你需要从arraylist中删除然后调用适配器setNotifyDataChange(),b&#39; cos当你调用这个函数时它从arraylist重新加载适配器。