我无法将对象放入字典并获取它们,我想将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);
但它显示零大小
答案 0 :(得分:1)
您的更新更有意义,但Dictionary类仍然是有效的。来自the documentation:
<强> java.util中 班级词典
...
注意:不要使用此类,因为它已过时。
由于你想创建一个由整数(new Dictionary<Integer, ImageView>()
)索引的表,我们应该使用SparseArray。
当你使用setTag()
时,你将整数转换为一个对象,每次使用getTag()
时,你都要从一个对象转换你的整数。这样做有效,但是如果你可以使用getId()
它会更快。
我推荐这个:
SparseArray<ImageView> allPlayers = new SparseArray<ImageView>();
...
allPlayers.put(iv.getId(), iv);