-1

我想用我的应用程序在其他活动中创建的其他特定目录中的目录名称填充列表视图。

这是 doInBackground 方法:

@Override
    protected ArrayList<String> doInBackground(Void... arg0) {
        ArrayList<String> wynik = new ArrayList<String>();
        File katalog = new File(Environment.getExternalStorageDirectory().getPath()+"/DBConnector/Projekty/");
        File[] projekty = katalog.listFiles();
        for (File projekt : projekty) {
            if (projekt.isDirectory()) {
                wynik.add(projekt.getName());
            }
        }
        return wynik;
    }

它抛出 NullPointerException。据我所知,即使那里没有文件夹,它也应该将 ArrayList 留空并将其传递(我稍后在 onPostExecute 中使用 if(result.isEmpty()) 向用户提供有关该信息或实际填充的信息listview 如果它不为空 - 非常相似的代码在其他地方工作,我用来自结果集中的数据填充 listview)。不过,那里有多个文件夹。恐怕我犯了一些愚蠢的错误,但我就是看不到。我会很感激一些帮助。

编辑:帮助的事情是重新启动 Eclipse。应该先考虑一下,尽管我仍然不知道它是怎么发生的。

4

1 回答 1

0

如果没有 logcat,很难确定。

  1. 您确定可以访问外部存储吗?(清单许可)
  2. 文件目录是否有效?还是只是空?
  3. File[] 项目是否返回一个空数组?

使用断点并检查上面的那些点。

于 2013-09-12T14:21:34.917 回答