遍历android根目录的简单资源查看器
16lz
2021-01-23
效果如图:
package com.txl.sua;import java.io.File;import java.util.List;import android.content.Context;import android.view.View;import android.view.ViewGroup;import android.widget.ArrayAdapter;import android.widget.TextView;public class FileListAdapter extends ArrayAdapter<File> {public FileListAdapter(Context context, int Resource, List<File> objects) {super(context, Resource, objects);}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {TextView view = (TextView) super.getView(position, convertView, parent);File file = getItem(position);if (position == 0)view.setText(view.getResources().getString(R.string.current_folder)+ file.getAbsolutePath());else if (position == 1 && !isRoot())view.setText(R.string.to_parent_folder);elseview.setText(file.getName());return view;}public boolean isRoot() {return getItem(0).getParent() == null;}}
package com.txl.sua;import java.io.File;import java.io.FileFilter;import java.util.ArrayList;import java.util.List;import android.app.ListActivity;import android.os.Bundle;import android.view.KeyEvent;import android.view.View;import android.widget.ListView;public class SearchUpdateApkActivity extends ListActivity {private FileListAdapter fileList;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);fill(new File("/"));}@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {if (keyCode == KeyEvent.KEYCODE_BACK && !fileList.isRoot()) {fill(fileList.getItem(1));return true;}return super.onKeyDown(keyCode, event);}@Overrideprotected void onListItemClick(ListView l, View v, int position, long id) {File file = fileList.getItem(position);if (file.isDirectory())fill(file);}private static final FileFilter IMAGES_FILTER = new FileFilter() {public boolean accept(File file) {return file.isDirectory()|| file.getName().matches("^*.*$");// ("^.*?\\.(jpg|png|bmp|gif)$")}};private void fill(File folder) {List<File> files = new ArrayList<File>();files.add(folder);if (folder.getParentFile() != null)files.add(folder.getParentFile());for (File file : folder.listFiles(IMAGES_FILTER)) {files.add(file);}fileList = new FileListAdapter(this, R.layout.file_row, files);setListAdapter(fileList);}}
<?xml version="1.0" encoding="utf-8"?><TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/text1" android:layout_width="fill_parent" android:layout_height="wrap_content" />
更多相关文章
- 读取android根目录下的文件或文件夹
- android 读取json数据(遍历JSONObject和JSONArray)
- Android 制定的ROM包(文件系统根目录结构分析)
- android中遍历arrayList的四种方法
- Android文件递归遍历
- Android--遍历SQLite数据库下的所有表名
- Android中遍历文件夹、比较文件类型测试
- Android检测SD卡是否可用,Android获取磁盘可用空间,Android获取磁
- C#中关于foreach遍历使用的深入理解