如何手动获取获取(...)索引

问题描述:

我遇到以下问题。我认为这至少是有趣的。我也想找到一个解决方案:)如何手动获取获取(...)索引

我有一个内部阵列的用户,出于某种原因,是在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

关键是要有回报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