Java android字典int,Imageview

Java android字典int,Imageview,java,android,dictionary,Java,Android,Dictionary,我无法将对象放入字典并获取它们,我想将ImageView与int进行比较,但没有任何错误 字典声明为: Dictionary<Integer, ImageView> dictPlayerAll = new Dictionary<Integer, ImageView>(){ @Override public int size() { // TODO Auto-generated method stub

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

但是它显示零大小

您的更新更有意义,但是Dictionary类仍然是obselete。发件人:

java.util 类词典

注意:不要使用此类,因为它已过时

因为您想创建一个由整数索引的表(
newdictionary()
),所以我们应该使用SparseArray

另外,当您使用
setTag()
时,您将整数转换为一个对象,而每次使用
getTag()
时,您都将整数从一个对象转换回来。这是可行的,但是如果您可以使用
getId()
它会更快

我建议:

SparseArray<ImageView> allPlayers = new SparseArray<ImageView>();
...

allPlayers.put(iv.getId(), iv);
SparseArray所有玩家=新SparseArray();
...
allPlayers.put(iv.getId(),iv);

您的更新更有意义,但Dictionary类仍处于禁用状态。发件人:

java.util 类词典

注意:不要使用此类,因为它已过时

因为您想创建一个由整数索引的表(
newdictionary()
),所以我们应该使用SparseArray

另外,当您使用
setTag()
时,您将整数转换为一个对象,而每次使用
getTag()
时,您都将整数从一个对象转换回来。这是可行的,但是如果您可以使用
getId()
它会更快

我建议:

SparseArray<ImageView> allPlayers = new SparseArray<ImageView>();
...

allPlayers.put(iv.getId(), iv);
SparseArray所有玩家=新SparseArray();
...
allPlayers.put(iv.getId(),iv);

您是否在任何地方使用setTag()?我会使用
intmtag=iv.getId()是,我有settag(),我使用这个图像视图“它显示零大小”,因为你
返回0
,不要自己实现
字典
,使用类似于
哈希表
或更好的
哈希映射
的实现您在任何地方都使用setTag()吗?我会使用
intmtag=iv.getId()是,我有settag(),我使用这个图像视图“它显示零大小”,因为你
返回0
,不要自己实现
字典
,使用类似于
哈希表
或更好的
哈希表
的实现是的,很好,它根据我的需要工作,我是java新手,我不知道它在java中的obselete,非常感谢:SparseArray allPlayers=new SparseArray();您需要:SparseArray allPlayers=newsparsearray();是的,很好,它根据我的需要工作,我是java新手,我不知道它在java中的地位,很多人感谢它:SparseArray allPlayers=new SparseArray();您需要:SparseArray allPlayers=newsparsearray();