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

标签 java android singleton

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

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

当我转到要访问每个用户图像列表的部分时,我应该执行以下操作:

myUsersList.get(userPosition).getImages();

但是,由于我存储图像列表的类是单例类,因此它需要知道要返回的图像列表的索引。在另一种情况下,它不知道要返回哪个图像列表。

我的图像列表是:

List<List<Bitmap>>

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

有什么想法吗?

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

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

为了使数据访问层上的事情变得更容易,我试图使这个单例图像列表透明。因此,当我的用户在常规 ArrayList 上拥有所有信息时,我尝试像这样访问它:

myUsersArrayList.get(userPosition);

由于我的用户图像位于单例类中,因此我必须在外部访问用户的图像列表,如下所示:

mySingletonClassImages.get(userPosition);

或者我可以实现这样的东西:

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

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

myUsersArrayList.get(userPosition).getImages();

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

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

最佳答案

技巧是让 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);
  }
}

关于java - 如何手动获取 get(...) 索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28699473/

相关文章:

java - 如何处理流 API 中的 InterruptedException 和 ExecutionException

java - 如何从 Guava 的 List 中获取 max() 元素

objective-c - 当我加载包含 webview 的 View Controller 时,iPhone 应用程序崩溃

android - 什么Layout最好根据坐标来设置它的inner views

javascript - Android 不从间隔播放 html5 音频

java - android 将 api key 存储在专用类与字符串文件中

c++ - 减少项目中的单例对象

java - 有什么方法可以使用 JAXB 为集合指定 defaultValue 吗?

java - 从 UIL lib 下载的缓存中的图像中设置 Imageview 资源

android - 如何在android中添加重叠按钮