`

ListView文件浏览器

 
阅读更多

FileBrowser.java

private List<String> items = null;
	private List<String> paths = null;
	private String rootPath = "/";
	
	private TextView mPath;
	private ListView listView1;
	
	protected void onCreate(Bundle icicle) {
		
		super.onCreate(icicle);
		setContentView(R.layout.file_browser);
		
		mPath = (TextView) findViewById(R.id.textView1);
		listView1 = (ListView) findViewById(R.id.listView1);
		getFileDir(rootPath);
	}

	/* 取得文件架构的method */
	private void getFileDir(String filePath) {
		/* 设定目前所在路径 */
		mPath.setText(filePath);

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

		if (!filePath.equals(rootPath)) {
			/* 第一笔设定为[回到根目录] */
			items.add("返回根目录");
			paths.add(rootPath);
			/* 第二笔设定为[回上层] */
			items.add("返回上一层");
			paths.add(f.getParent());
		}
		
		/* 将所有文件加入ArrayList中 */
		for (int i = 0; i < files.length; i++) {
			File file = files[i];
			items.add(file.getName());
			paths.add(file.getPath());
		}

		/*
		 * 声明一ArrayAdapter,使用file_row这个Layout, 并将Adapter设定给此ListActivity
		 */
		ArrayAdapter<String> listItemAdapter = new ArrayAdapter<String>(this, R.layout.list_item2, items);
		listView1.setAdapter(listItemAdapter);
		
		listView1.setOnItemClickListener(new ListView.OnItemClickListener(){

			public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
					long arg3) {
				File file = new File(paths.get(arg2));
				if (file.canRead()) {
					if (file.isDirectory()) {
						/* 如果是文件夹就再进去读取 */
						getFileDir(paths.get(arg2));
					} else {
						/* 如果是文件,则弹出AlertDialog */
						new AlertDialog.Builder(FileBrowser.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(FileBrowser.this)
							.setTitle("Message")
							.setMessage("权限不足!")
							.setPositiveButton("OK",
									new DialogInterface.OnClickListener() {
										public void onClick(DialogInterface dialog,
												int which) {
										}
									}).show();
				}
			}
			
		});
	}

file_browser.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
	xmlns:android="http://schemas.android.com/apk/res/android"
	android:layout_width="fill_parent"
	android:layout_height="fill_parent"
	android:orientation="vertical"
	android:background="@color/white">
	<TextView
		android:text="TextView"
		android:id="@+id/textView1"
		android:layout_width="wrap_content"
		android:layout_height="wrap_content"
		android:textColor="@color/black"></TextView>
	<ListView
		android:layout_height="wrap_content"
		android:id="@+id/listView1"
		android:layout_width="fill_parent"
		android:cacheColorHint="#00000000"></ListView>
</LinearLayout> 

  

 

 

 

 

  • 大小: 18.3 KB
  • 大小: 24.6 KB
  • 大小: 28.2 KB
分享到:
评论

相关推荐

    C# Winform 一个简单的文件浏览器控件

    在这个文件浏览器控件中,我们主要会用到`TreeView`控件和`ListView`控件。 `TreeView`控件将文件系统的结构以层次化的树形结构展示出来,用户可以通过展开和折叠节点来查看目录及其子目录。在C#中,我们可以使用`...

    本示例实现SD卡文件浏览器

    在实现文件浏览器界面时,可以使用Android的`ListView`或`RecyclerView`来展示文件和目录。每个条目都是一个自定义的`View`,显示文件名、大小、类型等信息,并响应用户的点击事件。为了获取SD卡上的文件列表,我们...

    Qml写的文件浏览器

    在文件浏览器中,ListView通常用于显示目录结构或文件列表,允许用户滚动浏览和选择。 3. **ListModel**:这是QML中的一个数据模型组件,用于存储和管理数据。ListModel可以绑定到视图组件(如ListView),这样视图...

    C#本地文件浏览器

    《C#本地文件浏览器》 在信息技术领域,文件浏览器是一个不可或缺的工具,它允许用户方便地浏览、管理和操作计算机上的文件和目录。本项目“C#本地文件浏览器”旨在提供一个简洁而实用的界面,让用户能够高效地进行...

    asp.net 使用ListView控件增强文件浏览器源码

    在本资源中,我们关注的是如何利用ListView控件来增强文件浏览器的功能。ListView控件是ASP.NET中的一个灵活且功能丰富的数据呈现控件,它允许开发者以多种布局方式显示数据集,包括网格、列表、缩略图等。在这个...

    树目录文件浏览器_C#_文件浏览器_

    "树目录文件浏览器"是一个用C#编写的项目,它为用户提供了直观的方式来浏览和操作文件系统。这个项目对于初学者来说是极好的学习资源,因为它涉及到许多基础的编程概念以及C#中的特定技术。 首先,我们来详细了解...

    C#利用winform编写一个简易的文件浏览器程序代码

    在本文中,我们将深入探讨如何使用C#编程语言和Windows Forms(WinForm)来创建一个简易的文件浏览器程序。这个程序具有用户友好的界面,包括菜单、工具栏、树形视图以及文件列表,能够方便地浏览和操作本地文件系统...

    C#文件浏览器源代码示例

    文件浏览器的主窗口就是一个Form,上面放置了诸如TreeView、ListView等控件,用于展示文件和目录结构。例如,TreeView可以用来显示目录层次,而ListView则可以显示文件列表及其详细信息。 2. **DirectoryInfo和...

    VB 小巧的文件浏览器

    【VB小巧的文件浏览器】是一款基于Visual Basic(VB)开发的简易版资源管理器,它为用户提供了浏览和管理电脑文件的基本功能。虽然其功能相对于Windows自带的资源管理器较为有限,但作为初学者了解文件系统操作和VB...

    VB程序实例-使用ListView控件增强文件浏览器.zip

    VB程序实例-使用ListView控件增强文件浏览器.zip

    VB.Net简易文件浏览器

    【VB.Net简易文件浏览器】 VB.Net简易文件浏览器是一款基于Visual Basic .Net开发的轻量级应用程序,它允许用户在Windows操作系统中浏览、选择和管理文件和目录。此应用旨在为开发者提供一个基础模板,用于学习如何...

    c#2010制作高仿winxp文件浏览器

    3. **控件使用**:文件浏览器通常包含树形视图(TreeView)展示目录结构,列表视图(ListView)显示文件,以及地址栏、搜索框等元素。C#中,`TreeView`和`ListView`控件需要正确配置以展示文件和目录,并实现点击...

    基于Android Studio开发手机本地文件浏览器

    在这个项目中,我们使用Android Studio来开发一个手机本地文件浏览器,它允许用户浏览并操作设备上的文件和目录。 在Android中,访问文件系统需要遵循特定的权限模型。在Android 4.0(API级别14)到6.0(API级别23...

    基于android系统的文件浏览器

    【基于Android系统的文件浏览器】 Android系统是全球最受欢迎的智能手机和平板电脑操作系统,为开发者提供了丰富的API接口和工具,使得创建各种应用程序变得可能。文件浏览器作为Android应用中的一个重要类别,允许...

    android 文件 浏览器 源码

    在Android平台上,构建一个文件浏览器应用是许多开发者都需要掌握的一项技能。这个源码项目名为"android 文件 浏览器 源码",提供了一个简洁的实现,旨在帮助初、中级开发者理解文件浏览功能的实现,并能在此基础上...

    android文件系统浏览器

    因此,文件浏览器需在AndroidManifest.xml中声明读写外部存储的权限: ```xml ``` 获取权限后,开发者可以使用Android的`java.io`和`java.nio`库来执行文件操作。例如,使用`java.io.File`类来获取目录列表,...

    android文件浏览器源代码

    在Android平台上,开发一款文件浏览器应用是Android开发者基础技能的一部分。这个源代码示例是一个基本的Android文件浏览器,用于浏览和操作本地存储的文件。以下将详细解释代码中的关键组件和功能。 首先,我们...

    Android文件浏览器实现

    本文将深入探讨如何实现一个基于ListView的Android文件浏览器。首先,我们从标题和描述出发,理解我们的目标是创建一个使用ListView组件来展示文件和目录的应用。 ### 1. Android 文件操作权限 在Android中,任何...

    C#文件浏览器

    2. 控件使用:C#窗体应用程序(Windows Forms)中,文件浏览器通常包含`TreeView`控件展示目录结构,`ListView`控件显示文件列表。这两个控件需要设置数据绑定,通过`DataSource`属性连接到动态获取的文件和目录信息...

    Android简易sd卡文件浏览器

    在Android平台上,开发一个简易的SD卡文件浏览器是一项常见的任务,尤其对于那些需要集成文件选择功能的应用来说。这个"Android简易sd卡文件浏览器"就是一个这样的工具,它允许用户浏览SD卡上的文件,并选择特定文件...

Global site tag (gtag.js) - Google Analytics