我有以下问题。我认为至少有趣。我也希望找到一个解决方案:)
我有一个内部用户数组,由于某些原因,他们将每个用户的图像存储在singleton class
中。这个单例类正确存储每个用户的每个ArrayList
图像。
当我转到我想要访问每个用户图像列表的部分时,我应该这样做:
myUsersList.get(userPosition).getImages();
但是,由于我存储图像列表的类是单例类,因此需要知道要返回的图像列表的索引。在另一种情况下,它不知道要返回哪个图像列表。
我的图片列表是:
List<List<Bitmap>>
到目前为止,我所有的努力都失败了。我想知道是否有办法以某种方式将此索引传递给我的单例类,因此我的图像列表访问看起来像上面的代码。
有什么想法吗?
修改 我试着更好地解释自己:
我有一个包含一些用户信息的类。由于我的应用程序的一些内存管理,我必须存储我的用户&#39;单例类中的图像列表,以便在外部访问。
为了使数据访问层更容易,我试图使这个单例图像列表透明。所以,当我有一个用户在常规ArrayList上提供所有信息时,我会尝试像这样访问它:
myUsersArrayList.get(userPosition);
由于我的用户图片是单个类,外部我必须访问用户的图像列表,如下所示:
mySingletonClassImages.get(userPosition);
或者我可以实现这样的事情:
myUsersArrayList.get(userPosition).getImages(userPosition);
但我希望它看起来像这样:
myUsersArrayList.get(userPosition).getImages();
所以我有问题如何在不传递索引的情况下获取索引。
我不知道现在它是否更清楚......
答案 0 :(得分: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 ...; }
}
现在make myUsersList.get(userPosition)
返回上一个类的实例。
class UsersList {
public Special get(int up) {
return new Special(up,theSingleton);
}
}