2015-02-24 87 views
0

我遇到以下問題。我認爲這至少是有趣的。我也想找到一個解決方案:)如何手動獲取獲取(...)索引

我有一個內部陣列的用戶,出於某種原因,是在singleton class存儲每個用戶的圖像。這個單獨課程正在爲每個用戶正確存儲每個圖像的ArrayList

當我去的,我要訪問的每個用戶圖像列表中的一部分,我應該做這樣的事情:

myUsersList.get(userPosition).getImages(); 

但是,正如在那裏我存儲我的圖像列表類是一個單例類,它需要知道要返回的圖像列表的索引。在另一種情況下,它不知道要返回哪個圖像列表。

我的圖像列表是:

List<List<Bitmap>> 

直到現在我所有的努力都失敗了。我想知道是否有辦法以某種方式將此索引傳遞給我的單例類,因此我的圖像列表訪問看起來像上面的代碼。

有什麼想法?

編輯: 我試着更好地解釋自己:

我有一個包含一些用戶信息的一類。由於我的應用程序的一些內存管理,我必須將我的用戶的圖像列表存儲在一個單例類中,以便被外部訪問。

爲了使數據訪問層更容易,我試圖讓這個單例圖像列表透明。所以,當我有一個用戶與所有它是在一個普通的ArrayList信息,我嘗試訪問它是這樣的:

myUsersArrayList.get(userPosition); 

至於我的用戶圖像是在一個單獨的類,externaly我要訪問用戶的圖像列表像這樣:

mySingletonClassImages.get(userPosition); 

或者我可以實現這樣的事情:

myUsersArrayList.get(userPosition).getImages(userPosition); 

但我希望它看起來像這樣:

myUsersArrayList.get(userPosition).getImages(); 

所以我有問題如何獲得索引而不通過它。

我不知道現在它的方式更清晰......

+0

遍歷外部列表,直到找到想要的用戶,或考慮將外部列表存儲爲'HashMap',其中的鍵爲'userPosition'。 – 2015-02-24 15:21:48

回答

1

關鍵是要有回報myUsersList.get(userPosition)東西:

  • 封裝的userPosition
  • 值有一個方法getImages()即會使用封裝值。

所以:

class Special { 
    private int userPosition; 
    private List<List<Bitmap>> images; 
    public Special(int up,List<List<Bitmap>> i) { userPosition = up; images = i } 
    public List<Bitmap> getImages() { return ...; } 
} 

現在做myUsersList.get(userPosition)回到以前的類的實例。

class UsersList { 
    public Special get(int up) { 
    return new Special(up,theSingleton); 
    } 
} 
+0

但是爲了訪問特定的圖像列表,我必須分兩步來完成,在其他情況下,索引不會被知道,不是嗎? 類似於:user = myUsersList.get(userPosition); 下一行:user.getImages(); – Sonhja 2015-02-24 15:26:25

+0

否'myUsersList.get(userPosition).getImages()'將調用'Special'實例的getImages()方法。 – 2015-02-24 15:27:50

+0

不清楚...與我鬆動我的userList.get(i)。我想保留'userList.get(position)'和'userList.get(position).getImages()'。 – Sonhja 2015-02-24 15:31:02