package com.ostrichmyself.txtReader;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import android.app.AlertDialog;
import android.app.Dialog;
import android.app.ListActivity;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
/*展现全部文件的Activity*/
public class ListAllFileActivity extends ListActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.filelist);
initFileList();
}
private void initFileList()
{
File path = android.os.Environment.getExternalStorageDirectory();
File[] f = path.listFiles();
fill(f);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = this.getMenuInflater();
inflater.inflate(R.menu.menu, menu);
menu.removeItem(R.id.gb2312);
menu.removeItem(R.id.utf8);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.about:
doAbout();
break;
default:
break;
}
return super.onOptionsItemSelected(item);
}
//弹出关于框
private void doAbout() {
Dialog dialog = new AlertDialog.Builder(ListAllFileActivity.this).setTitle(
R.string.aboutTitle).setMessage(R.string.aboutInfo)
.setPositiveButton(R.string.aboutOK,
new DialogInterface.OnClickListener() {
public void onClick(
DialogInterface dialoginterface, int i) {
// 按钮事件
}
}).create();
dialog.show();
}
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
Intent intent = new Intent(ListAllFileActivity.this, ViewFile.class);
bundle = new Bundle();
File file = fileNameList.get(position);
if (file.isDirectory())
{
File[] f = file.listFiles();
fill(f);
}
else {
bundle.putString(fileNameKey, file.getAbsolutePath());
intent.putExtras(bundle);
startActivityForResult(intent, 0);
}
}
// 读取文件列表,并设置listview
private void fill(File[] files) {
fileNameList = new ArrayList<File>();
for (File file : files) {
if (isValidFileOrDir(file)) {
fileNameList.add(file);
}
}
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, fileToStrArr(fileNameList));
setListAdapter(adapter);
}
/*检查是否为合法的文件名,或者是否为路径*/
private boolean isValidFileOrDir(File file)
{
if (file.isDirectory()) {
return true;
}
else {
String fileName = file.getName().toLowerCase();
if (fileName.endsWith(".txt")) {
return true;
}
}
return false;
}
private String[] fileToStrArr(List<File> fl)
{
ArrayList<String> fnList = new ArrayList<String>();
for (int i = 0; i < fl.size(); i++) {
String nameString = fl.get(i).getName();
fnList.add(nameString);
}
return fnList.toArray(new String[0]);
}
/*文件列表*/
private List<File> fileNameList;
private Bundle bundle;
private String fileNameKey = "fileName";
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
文本阅读器源代码.zip (33个子文件)
文本阅读器源代码
defaultpic.gif 6KB
Android文本阅读器源代码
.classpath 280B
src
com
ostrichmyself
txtReader
ViewFile.java 3KB
TxtReader.java 2KB
ListAllFileActivity.java 3KB
res
menu
menu.xml 474B
values
strings.xml 487B
layout
main.xml 573B
row.xml 431B
filelist.xml 422B
filebrowser.xml 516B
drawable
reader.PNG 6KB
bin
TxtReader.apk 18KB
resources.ap_ 11KB
classes.dex 11KB
com
ostrichmyself
txtReader
ViewFile$1.class 853B
ListAllFileActivity$1.class 919B
TxtReader.class 3KB
ViewFile.class 4KB
ListAllFileActivity.class 5KB
R$string.class 654B
R$layout.class 515B
R$id.class 596B
TxtReader$OpenFileAction.class 1KB
R$attr.class 367B
R$drawable.class 429B
TxtReader$1.class 859B
R.class 649B
R$menu.class 408B
default.properties 364B
.project 845B
AndroidManifest.xml 1KB
gen
com
ostrichmyself
txtReader
R.java 2KB
共 33 条
- 1
资源评论
Soft_Leader
- 粉丝: 1008
- 资源: 1628
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功