[英]android dictionary int, Imageview
我無法將對象放入字典中並得到它們,我想將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類仍然過時。 從文檔中 :
java.util類字典
...
注意:請勿使用該類,因為它已過時。
由於您要創建一個由Integers索引的表( new Dictionary<Integer, ImageView>()
),我們應該使用SparseArray。
同樣,當您使用setTag()
,會將Integer轉換為Object,並且每次使用getTag()
都會將Integer從Object轉換回。 這可以工作,但是如果可以使用getId()
,它將更快。
我建議這樣做:
SparseArray<ImageView> allPlayers = new SparseArray<ImageView>();
...
allPlayers.put(iv.getId(), iv);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.