android词典int,Imageview

时间:2012-09-05 14:39:38

标签: java android dictionary

我无法将对象放入字典并获取它们,我想将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);

但它显示零大小

1 个答案:

答案 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);
相关问题