2 csh 34 csh_34 于 2012.09.28 11:51 提问

如何在sdcard中列数据

我想在sd卡的特定位置显示文件名称,能否用列表视图的格式显示呢? 我找不到方法实现,请求大家的帮忙和引导。

2个回答

xiaoyan_12
xiaoyan_12   2012.09.28 15:09
已采纳
item = new ArrayList<String>();
 path = new ArrayList<String>();

 File f = new File("/sdcard/");

 // 或许也可以使用 File f=new File(Environment.getExternalStorageDirectory().getPAth());
 File[] files = f.listFiles();


 for(int i=0; i < files.length; i++)
 {
   File file = files[i];
   path.add(file.getPath());
   if(file.isDirectory())
    item.add(file.getName() + "/");
   else
    item.add(file.getName());
 }

 ArrayAdapter<String> fileList =
  new ArrayAdapter<String>(this, R.layout.row, item);
 setListAdapter(fileList);
yongyong_21
yongyong_21   2012.09.28 16:47

如果你知道要获取文件目录的路径,可以使用以下代码,获得文件列表,并且在列表视图中显示。

//假设 MEDIA_PATH 是要恢复的文件目录。
List<String> songs=new ArrayList<String>();
File home = new File(MEDIA_PATH); //
File[] musicFiles=home.listFiles();
if(musicFiles.length>0){
    for( File f:musicFiles) { songs.add(f.getName()); }
    ListAdapter adapter= new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,songs);
    setListAdapter(adapter);
}

如果使用ListActivity,就不需要使用setContentView(...).

Csdn user default icon
上传中...
上传图片
插入图片