当前位置: 代码迷 >> Android >> android:isDirectory()函数总是返回false
  详细解决方案

android:isDirectory()函数总是返回false

热度:57   发布时间:2023-08-04 10:42:50.0

即使Arraylist包含路径, isDirectory()函数也会返回false。

Arraylist的项目具有内部存储和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
          }

     }
}

您使用的是哪个版本的Android? 据我记得,KitKat中有一些与SD卡访问相关的限制。 也许这至少会有所帮助:

棒棒糖的限制再次消失

  相关解决方案