首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android文件浏览器错误

Android文件浏览器错误
EN

Stack Overflow用户
提问于 2013-09-24 22:11:10
回答 1查看 57关注 0票数 0

我正在尝试为我的应用程序制作文件夹浏览器,但我有错误,让我离开浏览器的活动。当activity启动时,它会显示包含所有文件夹的根文件夹,然后我可以单击其中一个文件夹,然后它会打开并显示其中的所有文件夹,之后,如果我单击某项内容,则会出现错误,在上次单击后,变量File[]文件名也为空。因此,方法getFileFromList(字符串路径)可以正常工作2次,并在第3次崩溃。并且我在控制台中没有任何错误。我的代码出了什么问题?

代码语言:javascript
复制
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.fflist);        

    pathtext = (TextView) findViewById(R.id.pathtext);


    getFileFromList("/");

    registerForContextMenu(getListView());        

}

protected void onListItemClick(ListView l, View v, int position, long id) {

    Log.d(LOG_TAG, String.valueOf(position));

    String clickedItem =  neededFilenames.get(position);

    getFileFromList(clickedItem);


}

public void getFileFromList(String path) {

    Log.d(LOG_TAG, path);

    neededFilenames = new ArrayList<String>();

    File dir = new File(path);        

    File[] filenames = dir.listFiles();
    Log.d(LOG_TAG, String.valueOf(filenames));
    if (filenames != null) {
        for (int i = 0; i < filenames.length; i++) {
            if (filenames[i].isDirectory() && !filenames[i].isHidden() && filenames[i].canRead()) {

                neededFilenames.add(filenames[i].getName());
            }

        }
        Log.d(LOG_TAG, String.valueOf(neededFilenames));
    } else Toast.makeText(this, "something wrong", Toast.LENGTH_SHORT).show();

    Collections.sort(neededFilenames);
    pathtext.setText("Location: /" + path);

    FileFolderAdapter adapter = new FileFolderAdapter(this, neededFilenames);

    setListAdapter(adapter);                                                  
}
EN

回答 1

Stack Overflow用户

发布于 2013-09-25 14:49:25

实际上我发现,这个“浏览器”只在根文件夹中工作,并单击1次,因为在一开始,当你只使用项目名称时,你有合法的“路径”到根目录- "/",单击1次后,你会得到" path“变量为-”/folder“,这仍然是合法的路径到文件夹,在2次单击第一个文件夹中的任何文件夹后,你只有文件夹名称" folder ",而没有所有到根目录的路径"/”,所以你不能只从名称中创建新文件,而没有从根目录开始的完整路径。不确定这是否足够容易理解,但也许它能帮助某人:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18983998

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档