Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在项目删除或重命名时更新ListView_Java_Android_Listview - Fatal编程技术网

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

Java 在项目删除或重命名时更新ListView,java,android,listview,Java,Android,Listview,我在选项卡式的片段中有以下代码: private SetRowsCustomAdapter adapter; private ArrayList<SetRows> rowsArray = new ArrayList<SetRows>(); for (Map.Entry<String, String> current_file:filesInFolder.entrySet()) { rowsArray.add(new SetRows(

我在选项卡式的
片段中有以下代码:

    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));
private-SetRowsCustomAdapter适配器;
private ArrayList rowsArray=new ArrayList();
对于(Map.Entry当前文件:fileinfolder.entrySet()){
添加(新的SetRows(R.drawable.ic_启动器,当前_文件.getKey().toString(),当前_文件.getValue().toString());
}
adapter=new SetRowsCustomAdapter(getActivity(),R.layout.customlist,rowsArray);
dataList=(ListView)mFrame3.findViewById(R.id.lvFiles);
dataList.setAdapter(适配器);
}
getActivity().deleteFile(txt+“.trp”);
移除(adapter.getItem(info.position));
adapter.notifyDataSetChanged();
startActivity(新的意图(getActivity(),MainActivity.class).putExtra(“tab”,2));
它删除my
ListView
中的一行,并启动一个新活动以显示更改。尽管我有
适配器.notifyDataSetChanged()
,但删除一行时,如果没有上面代码的最后一行,它不会显示更改


有人能帮我解决这个问题吗?这样它就可以在不启动新活动的情况下显示所做的更改。

使用自定义适配器更好,这些链接将对您有所帮助


我认为您需要从arraylist中删除,然后调用适配器setNotifyDataChange(),因为当您调用此函数时,它会从arraylist中重新加载适配器

您不需要NOTIFYDATASETCHANGE。我删除了最后两行,但我的ListView不会更新,除非我离开选项卡并再次返回。您确定此适配器是正在查看的列表的适配器吗?我用更多信息更新了上述代码。我很确定。有趣的是,当你重新加载页面时,它会更新。这意味着fileinfolder映射也会更新。