您好,欢迎来到化拓教育网。
搜索
您的当前位置:首页File浏览器

File浏览器

来源:化拓教育网
Activity: Java代码

package irdc.ex04_21;

/* import相关class */ import java.io.File; import java.util.ArrayList; import java.util.List;

import android.app.AlertDialog; import android.app.ListActivity; import android.content.DialogInterface; import android.os.Bundle; import android.view.View;

import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.TextView;

public class EX04_21 extends ListActivity {

/* 对象声明

items:存放显示的名称 paths:存放文件路径

rootPath:起始目录 */

private List items=null; private List paths=null; private String rootPath=\"/\"; private TextView mPath;

/** Called when the activity is first created. */ @Override

protected void onCreate(Bundle icicle) {

super.onCreate(icicle);

/* 加载main.xml Layout */ setContentView(R.layout.main);

mPath=(TextView)findViewById(R.id.mPath);

getFileDir(rootPath); }

/* 取得文件架构的method */ private void getFileDir(String filePath)

{

/* 设定目前所在路径 */ mPath.setText(filePath);

items=new ArrayList(); paths=new ArrayList(); File f=new File(filePath); File[] files=f.listFiles();

if(!filePath.equals(rootPath)) {

/* 第一笔设定为[回到根目录] */ items.add(\"Back to \"+rootPath); paths.add(rootPath); /* 第二笔设定为[回上层] */ items.add(\"Back to ../\"); paths.add(f.getParent()); }

/* 将所有文件加入ArrayList中 */ for(int i=0;iFile file=files[i];

items.add(file.getName()); paths.add(file.getPath()); }

/* 声明一ArrayAdapter,使用file_row这个Layout, 并将Adapter设定给此ListActivity */ ArrayAdapter fileList =

new ArrayAdapter(this,R.layout.file_row, items); setListAdapter(fileList); }

/* 设定ListItem被按下时要做的动作 */ @Override

protected void onListItemClick(ListView l,View v,int position,long id) {

File file = new File(paths.get(position)); if(file.canRead()) {

if (file.isDirectory()) {

/* 如果是文件夹就再进去读取 */ getFileDir(paths.get(position));

} else {

/* 如果是文件,则弹出AlertDialog */ new AlertDialog.Builder(this) .setTitle(\"Message\")

.setMessage(\"[\"+file.getName()+\"] is File!\") .setPositiveButton(\"OK\

new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog,int which) { }

}).show(); } } else {

/* 弹出AlertDialog显示权限不足 */ new AlertDialog.Builder(this) .setTitle(\"Message\") .setMessage(\"权限不足!\")

.setPositiveButton(\"OK\

new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog,int which) { }

}).show(); } } } layout: file_row.xml Java代码

android:id=\"@+id/text1\"

xmlns:android=\"http://schemas.android.com/apk/res/android\" android:layout_width=\"wrap_content\" android:layout_height=\"20px\" android:textSize=\"14sp\" /> main.xml

Java代码

android:id=\"@+id/mPath\"

android:layout_width=\"wrap_content\" android:layout_height=\"wrap_content\" android:padding=\"5px\" android:textSize=\"18sp\"

android:textColor=\"@drawable/blue\" /> android:id=\"@android:id/list\" android:layout_width=\"wrap_content\" android:layout_height=\"wrap_content\" />

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo9.cn 版权所有 赣ICP备2023008801号-1

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务