filebrowser文件浏览器

来源:互联网 发布:焦作淘宝网络公司 编辑:程序博客网 时间:2024/06/06 07:25

1获取根目录下的文件 File file = new File(“/”);

2把获取得的文件依次添加到ArrayAdapter中,然后setAdapter真是相当的简单

3为listActivity设置监听器,并启动自己所在的activity,传过去的值为被点击的文件的path

OVER~

package com.example.huanghanqing.filebrowser;import android.app.Activity;import android.app.ListActivity;import android.content.Intent;import android.os.Environment;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.ArrayAdapter;import android.widget.ListView;import java.io.File;public class MainActivity extends ListActivity {    ArrayAdapter<ESFile> adapter = null;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        String dir = getIntent().getStringExtra("data");        if (dir == null) {            dir = "/";        }        File file = new File(dir);        File[] chlidren = file.listFiles();        adapter = new ArrayAdapter<ESFile>(this,android.R.layout.simple_list_item_1);        for (File f :chlidren ) {            adapter.add(new ESFile(f));        }        setListAdapter(adapter);    }    @Override    protected void onListItemClick(ListView l, View v, int position, long id) {        ESFile file = adapter.getItem(position);        if (file.getFile().isDirectory()) {            Intent i = new Intent(this,MainActivity.class);            i.putExtra("data", file.getFile().getAbsolutePath());            startActivity(i);        }        super.onListItemClick(l, v, position, id);    }}

package com.example.huanghanqing.filebrowser;import java.io.File;/** * Created by huanghanqing on 2016/2/20. */public class ESFile {    private  File file = null;    public ESFile(File f) {        file = f;    }    public File getFile(){        return file;    }    public String toString(){        if (getFile()==null) {            return "";        }        return String.format("[%s]%s",getFile().isDirectory()?"DIR":"File" , getFile().getName());        //return getFile().isDirectory()?"DIR":"File" + getFile().getName();    }}

0 0
原创粉丝点击