【发布时间】:2016-01-20 16:28:24
【问题描述】:
即使 Arraylist 包含路径,isDirectory() 函数也会返回 false。
Arraylist 的 Item 具有内部存储和 SD 卡的路径。 有人会为此提供任何解决方案吗?
这里是代码-
public class FileBrowser extends ListActivity {
ArrayList<String> listItems;
String ROOT_PATH1 = "/storage/emulated/0";
String ROOT_PATH2 = "/storage/sdcard1";
String parent="";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_file_browser);
setRoot();
}
private void setRoot() {
listItems = new ArrayList<String>();
listItems.add("<-BACK");
listItems.add(ROOT_PATH1);
listItems.add(ROOT_PATH2);
ArrayAdapter<String> fileList = new ArrayAdapter<String>(this,R.layout.file_list_row, listItems);
setListAdapter(fileList);
}
//on clicking any item in the dialog
@Override
protected void onListItemClick(ListView l, View v, int position, long id){
int selectedRow = (int)id;
int y=0;
if(selectedRow == 0){
setRoot();
}else
{
File file = new File(listItems.get(selectedRow));
if(file.isDirectory()){
getFiles(file.listFiles());
//opening pdf files
}else{
//neither pdf file nor directory
}
}
}
【问题讨论】:
-
您是否列出了错误的目录?尝试输出“文件”并与我们的fs比较它是否真的存在。
-
是的,确实如此。几天前这段代码运行良好。
-
可能是您的 SD 卡安装错误。尝试 Files.exists() 以及
-
内部存储也存在问题。
-
是的,我调试了代码。
标签: java android directory android-arrayadapter listactivity