package com.jim8581.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;
import com.jim8581.txtReader.R;
/*展现全部文件的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";
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
TxtReader.rar (16个子文件)
TxtReader
.project 845B
default.properties 364B
bin
AndroidManifest.xml 2KB
libs
admob-sdk-android.jar 135KB
src
com
jim8581
txtReader
TxtReader.java 2KB
ListAllFileActivity.java 3KB
ViewFile.java 3KB
res
values
attrs.xml 389B
strings.xml 496B
layout
filebrowser.xml 516B
filelist.xml 422B
main.xml 967B
row.xml 431B
drawable
reader.PNG 6KB
menu
menu.xml 474B
.classpath 345B
gen
com
jim8581
txtReader
assets
共 16 条
- 1
资源评论
jim8581
- 粉丝: 2
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功