我无法将对象放入字典中并获取它们,我想将 imageViews 与 int 进行比较,但没有任何错误就失败了
字典声明为:
Dictionary<Integer, ImageView> dictPlayerAll = new Dictionary<Integer, ImageView>(){
@Override
public int size() {
// TODO Auto-generated method stub
return 0;
}
@Override
public ImageView remove(Object key) {
// TODO Auto-generated method stub
return null;
}
@Override
public ImageView put(Integer key, ImageView value) {
// TODO Auto-generated method stub
return null;
}
@Override
public Enumeration<Integer> keys() {
// TODO Auto-generated method stub
return null;
}
@Override
public boolean isEmpty() {
// TODO Auto-generated method stub
return false;
}
@Override
public ImageView get(Object key) {
// TODO Auto-generated method stub
return null;
}
@Override
public Enumeration<ImageView> elements() {
// TODO Auto-generated method stub
return null;
}
};;
这里把值放入字典
int mTag = iv.getTag();//its my imageview
dictPlayerAll.put(mTag, iv);
但它显示零尺寸
最佳答案
您的更新更有意义,但 Dictionary 类仍然过时。来自 the documentation :
java.util Class Dictionary
...
Note: Do not use this class since it is obsolete.
由于您想要创建一个由整数 (new Dictionary<Integer, ImageView>()
) 索引的表,我们应该使用 SparseArray。
还有当你使用 setTag()
时您将 Integer 转换为 Object 并且每次使用 getTag()
您正在将 Integer 从 Object 转换回来。这可行,但如果你可以使用 getId()
会更快。
我推荐这个:
SparseArray<ImageView> allPlayers = new SparseArray<ImageView>();
...
allPlayers.put(iv.getId(), iv);
关于java - android字典int,Imageview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12283970/