2010-10-22 66 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