[代码 步骤]
1. 定义所需界面 main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="bottom"
>
<Button
android:id="@+id/previous"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=" Back "
android:gravity="right"
/>
<TextView
android:id="@+id/path"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="true"
/>
</LinearLayout>
<ListView
android:id="@+id/list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
2. 定义一些后面用到的字符串常量
public final static String FILE_QUERY = "file_query";
public final static String FILE_NAME = "name";
public final static String FILE_TYPE = "type";
public final static String FILE_TYPE_FILE = "file";
public final static String FILE_TYPE_DIRECTORY = "directory";
3. 定义存放查询结果的数据结构
//1. 定义
List<Map<String,String>> value;
//2. 初始化
value = new ArrayList<Map<String, String>>();
4. 定义与文件有关的变量 用于存放结果
//存放 查询目标
String target="";
//存放 查询目标的上级目录
String parent="";
5. 定义方法 用于查询目标的子文件/目录
public String updateNext(String s){
parent = target;
target += "/" + s;
return target;
}
public List<Map<String,String>> getNextList(String s){
String string = updateNext(s);
if(checkIsFile(string)){
//string 就是你所需要的文件
string = updatePrevious();
}
return list(string);
}
6. 定义方法 用于查询目标的上级目录
public String updatePrevious(){
target = parent;
File file = new File(parent);
parent = file.getParent();
return target;
}
public List<Map<String,String>> getPreviousList(){
String string = updatePrevious();
return list(string);
}
7. 注册查询事件: 当单击ListView 中某项 查询子文件/子目录 并刷新结果
list.setOnItemClickListener(new OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
String s = value.get((int)arg3).get("name");
value = getNextList(s);
adapter.notifyDataSetChanged();
}
});
8. 注册查询事件: 当返回Button时候 返回上级目录 并刷新结果
previous.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
// TODO Auto-generated method stub
value = getPreviousList();
adapter.notifyDataSetChanged();
}
});
done!
分享到:
相关推荐
本篇将深入探讨Delphi如何被用来编写文件浏览器。 文件浏览器是操作系统中一个核心组件,用于帮助用户在计算机上查找、访问和管理文件及文件夹。使用Delphi开发文件浏览器,开发者可以利用其强大的VCL(Visual ...
【Android 仿ES文件浏览器源码解析】 在Android开发中,构建一个强大的文件管理器是一项挑战,而"android 仿ES文件浏览器源码"则提供了一个实现此类功能的参考实例。ES文件浏览器是一款广受欢迎的Android应用,它...
【标题】: SD卡文件浏览器实现详解 在Android系统中,SD卡(Secure Digital Card)是设备扩展存储的重要部分,用户通常需要访问和管理SD卡上的文件。本示例旨在帮助开发者实现一个功能完备的SD卡文件浏览器,使得...
在本文中,我们将深入探讨如何使用Qt-C++框架来实现一个功能完备的文件浏览器。Qt是一个跨平台的应用程序开发框架,支持多种操作系统,包括Windows、Linux、macOS等。使用Qt,我们可以方便地构建GUI(图形用户界面)...
【DST文件浏览器查带软件】是一款专为管理和探索DST格式文件而设计的应用程序,其主要功能集中在高效浏览、搜索以及操作这类特殊文件。DST通常代表Data Storage Technology或Digitally Signed Transaction,它们可能...
《C#本地文件浏览器》 在信息技术领域,文件浏览器是一个不可或缺的工具,它允许用户方便地浏览、管理和操作计算机上的文件和目录。本项目“C#本地文件浏览器”旨在提供一个简洁而实用的界面,让用户能够高效地进行...
【Qt文件浏览器,Linux】是基于Linux操作系统开发的一款应用程序,利用了QT4.6框架进行构建。QT(Qt)是一个跨平台的C++图形用户界面应用程序开发框架,它提供了丰富的库和工具,使得开发者能够在多种操作系统上创建...
【基于QT的文件浏览器】是一种使用QT开发框架构建的应用程序,它允许用户浏览和操作本地文件系统。QT是一个跨平台的C++库,为开发者提供了丰富的API,用于创建图形用户界面(GUI)和其他多种功能。在文件浏览器的...
在本文中,我们将深入探讨如何使用C# Winform来创建一个简单的文件浏览器控件,该控件基于.NET Framework 4.0。文件浏览器控件是应用程序中常见的元素,它允许用户浏览、选择和操作文件系统中的文件和目录。在C#编程...
《ES文件浏览器详解》 ES文件浏览器是一款深受用户喜爱的多功能文件管理应用,它以其强大的功能、简洁的界面和良好的兼容性,在众多的文件管理器中脱颖而出。在Android平台上,ES文件浏览器扮演着核心的角色,帮助...
在Android平台上,一个完整的文件浏览器应用是至关重要的,它允许用户轻松访问、管理以及操作设备上的文件和目录。"android文件浏览器 完整版" 提供了这样的功能,让用户能够打开并处理各种类型的文件,包括但不限于...
【标题】:“java编写的简单文件浏览器” 在Java编程领域,开发一个文件浏览器是一个常见的学习项目,它可以帮助初学者理解I/O流、文件系统操作以及图形用户界面(GUI)设计等核心概念。这个“java编写的简单文件...
"Re安卓文件浏览器"是一款专为Android用户设计的高效文件管理工具,其强大的功能和兼容性使其在同类应用中脱颖而出。这款应用不仅能够帮助用户轻松地浏览、组织和管理手机或平板电脑上的文件,还具备打开和编辑各种...
用JAVA语言实现的文件浏览器,类似于资源管理器的功能;
"NH格式文件浏览器"是一种专为处理特定类型文件——NH格式文件而设计的应用软件。NH格式,全称为“NetHelp”或“网络帮助”格式,主要用于存储和展示电子文档,尤其是那些具有复杂结构和丰富交互性的帮助文件。这类...
"SD开文件浏览器"是一款专为用户设计的文件管理应用,主要功能是允许用户查看和管理存储在移动设备,特别是SD卡上的文件。虽然描述中提到它无法进入某些特定文件或目录,但我们可以深入探讨一下关于文件浏览器以及SD...
标题所提到的“多窗口文件浏览器 Linux 版”正是为了解决这个问题而设计的。它允许用户在同一时间开启多个独立的资源浏览器窗口,从而可以在不同的文件系统路径之间快速切换,提高开发和日常工作的效率。 在描述中...
Linux下的文件浏览器“chrofb-0.7”是一款专为Linux用户设计的强大且功能丰富的文件管理工具。作为Linux环境中的一颗耀眼明星,它不仅具备了基础的文件浏览功能,还融入了一系列创新特性,旨在提升用户的操作体验和...