不多说,直接上代码哈
package com.mstar.ui;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
public class MyListView extends ListActivity
{
private static final String TAG = "MyListView";
private List<String> paths = new ArrayList<String>();
private String rootPath = "/mnt/mstarnfs";
private String rootPath1 = "/mnt/sdcard";
private String blenderfile = new String();
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
GetFiles(rootPath,".blend",true);
GetFiles(rootPath1,".blend",true);
setContentView(R.layout.mylistview);
ArrayAdapter<String> fileList = (new ArrayAdapter<String>(this,android.R.layout.simple_expandable_list_item_1, paths));
setListAdapter(fileList);
}
protected void onListItemClick (ListView l,View v,int position,long id)
{
//String name;
blenderfile =paths.get(position);
Log.i(TAG, "-------click is--------" + blenderfile);
Intent intent = new Intent();
intent.setClass(MyListView.this, MyHome.class);
intent.putExtra("BlendFile", blenderfile);
startActivityForResult(intent, position);
}
public void GetFiles(String Path, String Extension, boolean IsIterative) //搜索目录,扩展名,是否进入子文件夹
{
File[] files = new File(Path).listFiles();
File f;
if(files == null)
{
Toast.makeText(MyListView.this, Path+"is empty",Toast.LENGTH_LONG);
return;
}
for (int i = 0; i < files.length; i++)
{
f = files[i];
if(!f.canRead())
{
Toast.makeText(MyListView.this, Path+"can not read",Toast.LENGTH_LONG);
return;
}
if (f.isFile())
{
if (f.getName().contains(Extension)) //判断扩展名
{
Log.v(TAG,f.getPath());
paths.add(f.getPath());
}
}
else if (f.isDirectory())
GetFiles(f.getPath(), Extension, IsIterative);
}
}
}
布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ListView
android:id="@id/android:list"
android:layout_gravity="center_vertical|center_horizontal"
android:layout_width="960px"
android:layout_height="wrap_content"
android:layout_weight="1"
android:drawSelectorOnTop="false"
android:choiceMode="singleChoice"
android:background="@drawable/addapplist_bg"
android:divider="#555555"
></ListView>
</LinearLayout>