簡體   English   中英

android字典int,Imageview

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM