2010-10-22 68 views
1

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

回答

2

的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