[英]Update ListView on item delete or rename
我在選項卡式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()
,但是如果刪除了沒有上面代碼最后一行的行,它就不會顯示更改。
有人可以幫助我解決此問題,以便在不啟動新活動的情況下顯示更改。
使用自定義適配器比較合適,這些鏈接將為您提供幫助。 在Android中刪除ListView項。 如何刪除arraylist項,然后更新listview
我認為您需要從arraylist中刪除,然后在調用此函數時調用適配器setNotifyDataChange(),b'cos,它會從arraylist重新加載適配器。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.