如何解决列表视图中的这个错误?

Posted

技术标签:

【中文标题】如何解决列表视图中的这个错误?【英文标题】:How to solve this bug in listview? 【发布时间】:2021-11-18 04:29:30 【问题描述】:

我正在为 android 制作文件管理器,但在列表视图中显示文件和文件夹时遇到问题。我得到重复的文件夹和文件名,但是当我单击继续在文件夹中时,ArrayList 会正确返回名称。我的代码:

public void loadFiles(String path)
       listmap.clear();
       array.clear();
       FileUtil.listDir(path, array);
       int position = 0;
       String currentlyPath = path;
       text_currently_path.setText(currentlyPath);
       for(int rep=0; rep< (int)(array.size()); rep++)
           
           HashMap<String, Object> item = new HashMap<>();
           item.put("path", array.get(position));
           listmap.add(item);
           
           position++;
           listview_files.setAdapter(new ListViewAdapter(listmap));
       
   

我想知道是否可以解决此问题。非常感谢任何回答的人!

【问题讨论】:

请提供足够的代码,以便其他人更好地理解或重现问题。 【参考方案1】:

问题很可能是 ListView 适配器回收了项目视图,但由于某种原因没有重新初始化它们。这就是您看到重复文件和文件夹的原因:项目视图显示的文件名超出了列表的可见部分,并且被错误地重复用于表示另一个文件。

【讨论】:

以上是关于如何解决列表视图中的这个错误?的主要内容,如果未能解决你的问题,请参考以下文章

如何从简单列表视图的按钮打开新活动

未显示可扩展列表视图活动。我该如何解决。?

如何解决列表和文件的“C”中的“分段错误”错误

如何解决Outlook配置用户邮箱 &ldquo;该名称不能与地址列表中的名称匹配&rdquo;错误

如何解决 Oracle Apex 中的“无法使用 DISTINCT、GROUP BY 等从视图中选择 FOR UPDATE”错误?

如何在 Flutter 中删除列表视图顶部的项目?