Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.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:在listview中显示mp3文件_Android_Listview - Fatal编程技术网

Android:在listview中显示mp3文件

Android:在listview中显示mp3文件,android,listview,Android,Listview,我正在制作一个应用程序,其中我必须在listview中显示sdcard中的所有mp3文件。对此的任何帮助都将不胜感激。这是一个基于Android File Explorer的非常好的示例。它显示SD卡中存在的所有文件 看看这个 现在,如果只想显示mp3文件,只需使用文件名进行条件检查 将本例的getDir(stringdirpath)方法替换为如下所示 private void getDir(String dirPath) { myPath.setText("Location:

我正在制作一个应用程序,其中我必须在listview中显示sdcard中的所有mp3文件。对此的任何帮助都将不胜感激。

这是一个基于Android File Explorer的非常好的示例。它显示SD卡中存在的所有文件

看看这个

现在,如果只想显示mp3文件,只需使用文件名进行条件检查

将本例的getDir(stringdirpath)方法替换为如下所示

private void getDir(String dirPath)
{    
     myPath.setText("Location: " + dirPath);
     item = new ArrayList<String>();
     path = new ArrayList<String>();         

     File f = new File(dirPath);
     File[] files = f.listFiles();

     if(!dirPath.equals(root))
     {    
          item.add(root);
          path.add(root);    
          item.add("../");    
          path.add(f.getParent());
     }
     for(int i=0; i < files.length; i++)    
     {
          File file = files[i];
          path.add(file.getPath());
          if(file.isDirectory())    
            item.add(file.getName() + "/");
          else
          {
              String filename=file.getName();
              String ext = filename.substring(filename.lastIndexOf('.')+1, filename.length());
              if(ext.equals("JPG")||ext.equals("jpg"))
              {
                  item.add(file.getName());
              }
          }    
     }    
     ArrayAdapter<String> fileList =
          new ArrayAdapter<String>(this, R.layout.row, item);
     setListAdapter(fileList);
}
private void getDir(字符串dirPath)
{    
setText(“位置:“+dirPath”);
item=newarraylist();
路径=新的ArrayList();
文件f=新文件(dirPath);
File[]files=f.listFiles();
如果(!dirPath.equals(root))
{    
项。添加(根);
添加(根目录);
项目.添加(“/”);
add(f.getParent());
}
对于(int i=0;i

现在您的资源管理器已准备就绪,只显示mp3文件。

以下代码出现错误:else{String ext=filename.substring(filename.lastIndexOf('.')+1,filename.length();if(ext.equals(“JPG”)| ext.equals(“JPG”){item.add(file.getName())}这里的文件名是什么?您在哪里调用了mp3格式对不起,请将它改为mp3,而不是jpg。你犯了什么错误?我的错。我还没有创建字符串变量本身。请立即重试。我已编辑了我的回答。我收到以下异常:E/AndroidRuntime(8982):java.lang.IllegalStateException:ArrayAdapter要求资源ID为文本视图抱歉。情不自禁。请随意