我有一个从baseadapter扩展的arrayadapter,并使用它与商店数据的arraylist。我需要更新单个项目。所以我需要为每个项目添加一个id添加到arraylist。然后我将用{{更新它1}}这样的方法:
set
我的意思是我需要一个位置值。有人说你需要为此实现randomsList.set(position,new Random(user,1));
。但我不知道我该怎么做。我需要一个例子。
这是我的班级:
map
这是我的适配器:
private static class Randoms{
private List<Random> randoms=null;
public Randoms(List<Random> randoms) {
this.randoms=randoms;
}
public Random get(int position) {
return randoms.get(position);
}
public int size() {
return randoms.size();
}
}
答案 0 :(得分:0)
如果我理解正确,您希望使用列表中项目的位置作为项目的ID值:
您可以为Random
创建一个包装类,该类包含Random
对象及其ID。
class RandomWrapper {
private Random rand;
private int id;
RandomWrapper(Random rand, int id) {
this.rand = rand;
this.id = id;
}
public Random getRand() {
return this.rand;
}
public int getID() {
return this.id;
}
}
这样,如果您想访问Random
,请致电yourRandomWrapper.getRand()
,如果您想获取ID,请致电yourRandomWrapper.getID()
因此,例如,在列表中添加5个项目:
for(int i = 0; i < 5; i++) {
randomsList.add(new RandomWrapper(yourRandomObj, i));
}
如果要为对象生成唯一ID,可以使用java.util.UUID
类。如果您对其工作原理感兴趣,可以查看this answer或Oracle Docs