在这里呢,给大家一个显示sdcard上的文件夹,当然这个例子还不很完善,但是,大致思路就这样~~在此基础上可以自己再去开发~~~
package com.example.sdcardfilelist;
import java.io.File;
import java.util.ArrayList;
import android.os.Bundle;
import android.R.anim;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class MainActivity extends Activity {
private ListView lv;
private ArrayList<String> list=new ArrayList<String>();
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textlist("/");
}
public void textlist(String pp){
getFiles(pp);
lv=(ListView )findViewById(R.id.lv);
ArrayAdapter<String> aa=new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,list);
lv.setAdapter(aa);
lv.setOnItemClickListener (new OnItemClickListener(){
public void onItemClick(AdapterView<?> arg0, View arg1, int position,
long arg3) {
String path=list.get(position);
list.clear();//将先前的列表清空,重新添加
textlist(path);
}
});
}
public void getFiles(String path){
File file=new File(path);
File [] files=file.listFiles();
if(files==null){
list.add(path);/如果是文件,没有下一集目录,直接添加上,不再改变
}else{
for(File f:files){
list.add(f.getAbsolutePath());/有下一级目录的,把下一级目录全添加上
}
}
}
}
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:orientation="vertical"
>
<TextView
android:id="@+id/tv"
android:layout_width="fill_parent"
android:layout_height ="wrap_content"
android:gravity="center"
android:text="文件列表"
/>
<ListView
android:id="@+id/lv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:isScrollContainer="true"
/>
</LinearLayout>
没什么技术可言,只是那来练手的~~