我遇到以下问题。我认为这至少很有趣。我也想找到解决方案:)
我有一个内部用户数组,由于某些原因,该数组将每个用户的图像存储在单个类
中。这个单例类正确存储每个用户的每个 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/