• 介绍一个android开源文件选择对话框:androidfiledialog


    链接见此:http://code.google.com/p/android-file-dialog/

    源码在这里:http://code.google.com/p/android-file-dialog/source/browse/#svn%2Ftrunk%2FFileExplorer%2Fsrc%2Fcom%2Flamerman

    谢谢作者的无私贡献,虽然功能简单,但能节省些许开发时间。同时还能应付一些常见的文件选择功能需求,大家可根据自己的项目需求在上面作相应更改。


    使用说明:

    Usage principles

    The dialog is created like this:

    Intent intent = new Intent(getBaseContext(), FileDialog.class);
                    intent.putExtra(FileDialog.START_PATH, "/sdcard");
                    
                    //can user select directories or not
                    intent.putExtra(FileDialog.CAN_SELECT_DIR, true);
                    
                    //alternatively you can set file filter
                    //intent.putExtra(FileDialog.FORMAT_FILTER, new String[] { "png" });
                    
                    startActivityForResult(intent, REQUEST_SAVE);

    Here "/sdcard" is the start path where the file dialog will open. REQUEST_SAVE is your integer constant, it will then be transmitted to onActivityResult;

    CAN_SELECT_DIR - possibility to select directories FORMAT_FILTER - files filter. If file name ends with one of filters the file will be displayed.

    When user selects a file or just goes back not selected anything, the activity closes, calling the standard onActivityResult method:

            public synchronized void onActivityResult(final int requestCode,
                    int resultCode, final Intent data) {
    
                    if (resultCode == Activity.RESULT_OK) {
    
                            if (requestCode == REQUEST_SAVE) {
                                    System.out.println("Saving...");
                            } else if (requestCode == REQUEST_LOAD) {
                                    System.out.println("Loading...");
                            }
                            
                            String filePath = data.getStringExtra(FileDialog.RESULT_PATH);
    
                    } else if (resultCode == Activity.RESULT_CANCELED) {
                            Logger.getLogger(AccelerationChartRun.class.getName()).log(
                                            Level.WARNING, "file not selected");
                    }
    
            }

    The result code will be Activity.RESULT_OK if user has selected something and Activity.RESULT_CANCELED if he just pressed the BACK button not selecting anything. You can retrieve the filepath from the intent:

            data.getStringExtra(FileDialog.RESULT_PATH);

    If for some reason the words startActivityForResult and onActivityResult are not familiar to you, just read documentation about them. In short, an activity is created and when it exits a handler is called. In this handler you can get the filepath.

    You can add one more parameter to the Intent: SelectionMode.MODE_OPEN or SelectionMode.MODE_CREATE

    intent.putExtra(FileDialog.SELECTION_MODE, SelectionMode.MODE_OPEN);

    SelectionMode.MODE_OPEN will make the NEW button disabled. So user can only select existing files



    Meet so Meet. C plusplus I-PLUS....
  • 相关阅读:
    【译】SQL Server误区30日谈Day3即时文件初始化特性可以在SQL Server中开启和关闭
    有关TSQL的10个好习惯
    【译】SQL Server误区30日谈Day6有关NULL位图的三个误区
    一次由重复索引导致的问题
    【译】SQL Server误区30日谈Day2DBCC CHECKDB会导致阻塞
    【译】SQL Server误区30日谈Day1正在运行的事务在服务器故障转移后继续执行
    CodeFileBaseClass 属性
    Mako 模板系统文档翻译(2) 语法
    终于搞定了 django 的 ajax 方式上传图片
    ASP.NET Ajax 调试技巧:用 FireBug 调试 UpdatePanel 不更新问题
  • 原文地址:https://www.cnblogs.com/iplus/p/4467390.html
Copyright © 2020-2023  润新知