Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/181.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.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
Android文件浏览器错误_Android - Fatal编程技术网

Android文件浏览器错误

Android文件浏览器错误,android,Android,我正在尝试为我的应用程序创建文件夹浏览器,但我有一个错误,导致我退出浏览器活动。当“活动”启动时,它会显示根文件夹和其中的所有文件夹,然后我可以单击其中一个文件夹,它会打开并显示其中的所有文件夹,然后,如果我单击某个内容,则会出现错误,并且上次单击后,变量File[]filename为空。所以方法getFileFromList(字符串路径)可以正常工作2次,并在第3次崩溃。我在控制台中没有任何错误。我的代码怎么了 public void onCreate(Bundle savedInst

我正在尝试为我的应用程序创建文件夹浏览器,但我有一个错误,导致我退出浏览器活动。当“活动”启动时,它会显示根文件夹和其中的所有文件夹,然后我可以单击其中一个文件夹,它会打开并显示其中的所有文件夹,然后,如果我单击某个内容,则会出现错误,并且上次单击后,变量File[]filename为空。所以方法getFileFromList(字符串路径)可以正常工作2次,并在第3次崩溃。我在控制台中没有任何错误。我的代码怎么了

    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);                                                  
}
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.fflist);
pathtext=(TextView)findViewById(R.id.pathtext);
getFileFromList(“/”);
registerForContextMenu(getListView());
}
受保护的void onListItemClick(列表视图l、视图v、整数位置、长id){
Log.d(Log_标记,String.valueOf(位置));
String clickedItem=needfilenames.get(位置);
getFileFromList(单击编辑项);
}
public void getFileFromList(字符串路径){
Log.d(日志标签,路径);
neededFilenames=newArrayList();
文件目录=新文件(路径);
File[]filename=dir.listFiles();
Log.d(Log_标记,String.valueOf(文件名));
if(文件名!=null){
对于(int i=0;i
事实上,我发现,这个“浏览器”只在根文件夹中工作,只需单击一次就可以了,<因为在开始时,当您只使用项目名称时,您有到根目录的合法“路径”-“/”,单击一次后,您将得到“路径”变量-“/folder”,这仍然是到文件夹的合法路径,单击第一个文件夹中的任何文件夹2次后,您只有该文件夹名“folder”,没有指向根目录的所有路径“/”,因此,如果没有来自根目录的完整路径,您无法仅使用名称创建新文件。不确定这是否足够理解,但可能对某人有帮助:)

使用“谢谢”,但我想找出我的错误:)logcat中的错误是什么?