【问题标题】:ArrayList<File>() as a SpinnerArrayList<File>() 作为 Spinner
【发布时间】:2010-10-22 03:14:45
【问题描述】:

我有一个想要显示为 Spinner 的 ArrayList()。问题是,我需要显示 File.toString() 以外的内容。我想将 Spinner 的视图文本设置为文件名(格式化),而不是 File.toString() 返回的完整文件路径,所以我相信这排除了仅使用 ArrayAdapter 的可能性?谢谢!

【问题讨论】:

    标签: java android


    【解决方案1】:

    ArrayAdapter 的 Android SDK 文档推荐以下内容:

    覆盖对象的 toString() 方法以确定将为列表中的项目显示哪些文本。

    这意味着您仍然可以使用ArrayAdapter,但是您需要创建一个包含您的真实文件的包装器对象,例如FileFormat,它会用您想要的格式覆盖toString()

    class FileFormat {
        private File delegate;
        FileFormat (File delegate) {
           this.delegate = delegate;
        }
        public String toString() {
           return formatAllPrettyAndWhatNot (delegate);
        }
    };
    //then use a ArrayList<FileFormat>(), in your array spinner adapter 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-22
      相关资源
      最近更新 更多