`
bogongjie
  • 浏览: 230930 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

Android 文件瀏覽器

阅读更多

 

public class file extends Activity{
	private ListView listView;
	private TextView path;
	private File file_parent;
	private File[] files;
	private String root ="/";
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.file);
		listView=(ListView)findViewById(R.id.list);
		path=(TextView)findViewById(R.id.path);
		file_parent = new File(root);
		files = new File(root).listFiles();
		GetFileDir(files);
		
		listView.setOnItemClickListener(new OnItemClickListener() {

			@Override
			public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
				// TODO Auto-generated method stub
				if (files[arg2].isFile()) {
					return;
				}
				File[] temp = files[arg2].listFiles();
				if (temp == null || temp.length == 0) {
					Toast.makeText(file.this, "当前路径不可访问或该路径下没有任何文件!", 1000).show();
				}else {
					file_parent = files[arg2];
					files = temp;
					GetFileDir(files);
				}
			}
		});
		
	}
	public void GetFileDir(File[] file){
		ArrayList<Map<String, Object>> list = new ArrayList<Map<String,Object>>();
//		Map<String, Object> map1 = new HashMap<String, Object>();
//		map1.put("icon", R.drawable.ic_launcher);
//		map1.put("name", "back to /");
//		list.add(map1);
//		Map<String, Object> map2 = new HashMap<String, Object>();
//		map2.put("icon", R.drawable.ic_launcher);
//		map2.put("name", "back to ../");
//		list.add(map2);
		for (int i = 0; i < file.length; i++) {
			Map<String, Object> map = new HashMap<String, Object>();
			if (file[i].isDirectory()) {
				map.put("icon", R.drawable.folder);
			}else {
				map.put("icon", R.drawable.file);
			}
			map.put("name", file[i].getName());
			list.add(map);
		}
		SimpleAdapter simpleAdapter = new SimpleAdapter(this, list, R.layout.line, new String[]{"icon","name"}, new int[]{R.id.icon,R.id.name});
		listView.setAdapter(simpleAdapter);
		try {
			path.setText("当前路径为:" + file_parent.getCanonicalPath());
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics