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

How to get the get(...) index manually

我有以下问题。我认为这至少很有趣。我也想找到解决办法:)

我有一个内部用户数组,由于某些原因,它会将每个用户的图像存储在 singleton class 中。此单例 class 正确存储每个用户的每个 ArrayList 图像。

当我转到要访问每个用户图像列表的部分时,我应该这样做:

myUsersList.get(userPosition).getImages();

但是,由于我存储图像列表的 class 是单例 class,它需要知道要 returned 的图像列表的索引。在另一种情况下,它不知道哪个图像列表要 return.

我的图片列表是:

List<List<Bitmap>>

到现在为止我所有的努力都失败了。我想知道是否有办法以某种方式将此索引传递给我的单例 class,因此我的图像列表访问看起来像上面的代码。

有什么想法吗?

编辑: 我试着更好地解释自己:

我有一个 class,其中包含一些用户信息。由于我的应用程序的一些内存管理,我必须将我的用户的图像列表存储在一个单例中 class 以便外部访问。

为了简化数据访问层的操作,我试图使这个单例图像列表透明。因此,当我有一个用户在常规 ArrayList 上拥有所有信息时,我尝试像这样访问它:

myUsersArrayList.get(userPosition);

因为我的用户图片是单例的 class,外部我必须像这样访问用户的图片列表:

mySingletonClassImages.get(userPosition);

或者我可以这样实现:

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

但我希望它看起来像这样:

myUsersArrayList.get(userPosition).getImages();

所以我有问题如何在不传递索引的情况下获取索引。

不知道现在是不是更清楚了...

诀窍是 myUsersList.get(userPosition) return 一些东西:

  • 封装了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) return 成为前一个 class 的实例。

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