Android如何实现读取SD卡下所有三种文件名并用listView显示出来的方法

  介绍

这篇文章将为大家详细讲解有关Android如何实现读取SD卡下所有三种文件名并用listView显示出来的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

具体如下:

MainActivity。Java

package  com.zxl;   import  java.io.File;   import  java.util.ArrayList;   import  java.util.HashMap;   import  android.app.Activity;   import  android.os.Bundle;   import  android.os.Environment;   import  android.util.Log;   import  android.widget.ListView;   import  android.widget.SimpleAdapter;   public  class  Txt_sdkaActivity  extends  Activity  {   private 才能;ListView  lv;   ArrayList 才能,名字;/* *,才能nbsp; when 从而activity  is  first 创建只*/@Override才能   public 才能;void  onCreate (Bundle  savedInstanceState), {   ,,,super.onCreate (savedInstanceState);   ,,,setContentView (R.layout.main);   ,,,lv =,(视图),findViewById (R.id.lv);   ,,,name =, new  ArrayList ();   ,,,if  (Environment.getExternalStorageState () .equals (Environment.MEDIA_MOUNTED)), {   ,,,,,File  path =, Environment.getExternalStorageDirectory();//,获得SD卡路径   ,,,,,//,File  path =, new 文件(“/mnt/sdcard/?;   ,,,,,文件[],files =, path.listFiles();//,读取   ,,,,,getFileName(文件);   ,,,}   ,,,SimpleAdapter  adapter =, new  SimpleAdapter(名称,这一点,还以为,R.layout.pes, new  String [], {,“Name",},, new  int [], {, R.id.txt_tv });   ,,,lv.setAdapter(适配器);   ,,,for  (int 小姐:=,0;,小姐:& lt;, name.size();,我+ +),{   ,,,,,Log.i (“zeng",,“列表只名字:,“,+,name.get(我));   ,,,}   ,,}   private 才能;void  getFileName(文件[],文件),{   ,,,if  (files  !=, null),{//,先判断目录是否为空,否则会报空指针   ,,,,,for  (File  File :文件),{   ,,,,,,,if  (file.isDirectory ()), {   ,,,,,,,,,Log.i (“zeng",,“若是文件目录。继续读1“,+,file.getName () .toString (), +, file.getPath () .toString ());   ,,,,,,,,,getFileName (file.listFiles ());   ,,,,,,,,,Log.i (“zeng",,“若是文件目录。继续读2“,+,file.getName () .toString (), +, file.getPath () .toString ());   ,,,,,,,},{else    ,,,,,,,,,String  fileName =, file.getName ();   ,,,,,,,,,if  (fileName.endsWith (“.txt")), {   ,,,,,,,,,,,HashMap  map =, new  HashMap ();   ,,,,,,,,,,,String  s =, fileName.substring (0,, fileName.lastIndexOf (“!”)) .toString ();   ,,,,,,,,,,,Log.i (“zeng",,“文件名txt::,,,, +, s);   ,,,,,,,,,,,map.put (“Name",, fileName  .substring (0,, fileName.lastIndexOf (“!”)));   ,,,,,,,,,,,name.add(地图);   ,,,,,,,,,}   ,,,,,,,}   ,,,,,}   ,,,}   ,,}   }

主要。xml

& lt; ? xml  version=?.0“,编码=皍tf-8" ?比;   & lt; RelativeLayout  xmlns: android=癶ttp://schemas.android.com/apk/res/android"   android:才能layout_width=癴ill_parent"   android:才能layout_height=癴ill_parent"   android:才能取向=皏ertical",在   & lt; TextView才能   ,,,android: id=癅 + id/textView1"   ,,,android: layout_width=癴ill_parent"   ,,,android: layout_height=皐rap_content"   ,,,android:文本=癅string/hello",/比;   ,& lt;列表视图   ,,,android: id=癅 + id/lv"   ,,,android: layout_width=癿atch_parent"   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

Android如何实现读取SD卡下所有三种文件名并用listView显示出来的方法