WEB开发网
开发学院手机开发Android 开发 Android 快速实现一个文件选择器 阅读

Android 快速实现一个文件选择器

 2010-02-24 04:48:00 来源:WEB开发网   
核心提示:lv2.setAdapter(ap);ListView.OnItemClickListener lv2click = new ListView.OnItemClickListener() {public void onItemClick(AdapterView parent, View view,int positio

lv2.setAdapter(ap);

ListView.OnItemClickListener lv2click = new ListView.OnItemClickListener() {

public void onItemClick(AdapterView parent, View view,

int position, long id) {

// "_id", "ext_number", "name","ann", "intro"

int fid=ap.getItemType((int)id);

String mPath="";

if (fid==1){

String s1=ap.getItem((int)id).name;

if (s1.equals("..")){

mPath=mCurrentDirectory.getParent();

}else{

mPath=mCurrentDirectory.getPath()+"/"+s1+"/";

}

mCurrentDirectory=new File(mPath);

ListFile(mCurrentDirectory);

}else{

Bundle bundle = new Bundle();

bundle.putString("filename",mCurrentDirectory.getPath()+"/"+ ap.getItem((int)id).name);

Intent mIntent = new Intent();

mIntent.putExtras(bundle);

setResult(RESULT_OK, mIntent);

frm_openfile.this.finish();

}

}

};

ListFile(mCurrentDirectory);

lv2.setOnItemClickListener(lv2click);

}

private void ListFile(File aDirectory) {

ap.clearItems();

ap.notifyDataSetChanged();

lv2.postInvalidate();

Log.v("vodone","mpath="+aDirectory.getPath());

//if (aDirectory==null)return;

if (!aDirectory.getPath().equals("/sdcard")){

fileData fd=new fileData();

fd.name="..";

fd.type=1;

ap.addItem(fd);

}

for( File f : aDirectory.listFiles() ){

if (f.isDirectory()){

fileData fd=new fileData();

fd.name=f.getName();

fd.type=1;

ap.addItem(fd);

}else{

if (checkEnds(f.getName().toLowerCase())){

fileData fd=new fileData();

fd.name=f.getName();

fd.type=0;

ap.addItem(fd);

}

}

}

ap.notifyDataSetChanged();

lv2.postInvalidate();

}

private boolean checkEnds(String checkItsEnd) {

for (String aEnd : fileEndings) {

if (checkItsEnd.endsWith(aEnd))

return true;

}

return false;

}

}

很简单,是不?

上一页  1 2 3 4 5 

Tags:Android 快速 实现

编辑录入:coldstar [复制链接] [打 印]
赞助商链接