Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
ASAndrey
1 / 1 / 0
Регистрация: 13.07.2013
Сообщений: 70
#1

LruCache метод put возвращает null - Android

18.08.2013, 18:00. Просмотров 615. Ответов 2
Метки нет (Все метки)

Всем привет! Не могу поянть почему LruCache метод put возвращает null. Может быть кто знает подскажет в чем тут дело? Вот код:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
public class QwerAdapter extends ArrayAdapter<ListQwers> {
    private int resource;
    private LayoutInflater inflater;
    private Context context;
    private ListQwers listQwers;
    private LruCache<String, Bitmap> memoryCache;
 
    public QwerAdapter(Context ctx, int resourceId, List objects) {
 
        super(ctx, resourceId, objects);
        resource = resourceId;
        inflater = LayoutInflater.from(ctx);
        context = ctx;
 
        int cacheSize = ((ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE)).getMemoryClass();
        cacheSize = (cacheSize / 4) * 1024 * 1024;
 
        memoryCache = new LruCache<String, Bitmap>(cacheSize) {
            @Override
            public int sizeOf(String key, Bitmap bitmap) {
                int getBytesImage;
                if (Build.VERSION.SDK_INT >= 12){
                     getBytesImage = bitmap.getByteCount();
                }else{
                    getBytesImage = bitmap.getRowBytes() * bitmap.getHeight();
                }
                return getBytesImage;
            }
        };
        
    }
 
    @Override   public View getView(int position, View convertView, ViewGroup parent) {
 
        convertView = (RelativeLayout) inflater.inflate(resource, null);
        listQwers = getItem(position);
        new DisplayImageFromURL(
                (ImageView) convertView.findViewById(R.id.imageQwer))
                .execute("путь до изображения");
        return convertView;
    }
 
    private class DisplayImageFromURL extends AsyncTask<String, Void, Bitmap> {
        ImageView bmImage;
 
         public DisplayImageFromURL(ImageView bmImage) {
         try{
         this.bmImage = bmImage;}catch(Exception e){}
         }
 
        protected Bitmap doInBackground(String... urls) {
            String urldisplay = urls[0];
            Bitmap mIcon11 = null;
            try {
 
                Bitmap imageQwer = memoryCache.get(urldisplay);
                if (imageQwer != null) {
                    mIcon11 = imageQwer;
                } else if (imageQwer == null) {
                    InputStream in = new java.net.URL(urldisplay).openStream();
                    Bitmap image = null;
                     
                    image = BitmapFactory.decodeStream(in);
                                        int qwer = image.getByteCount(); // размер изображения в байтах получается 32400 байт
                                        // размер выделенного кэша получается 4194304, так что памяти точно хватает для размещения одной тестовой картинки.
                    mIcon11 = memoryCache.put(urldisplay,image);// memoryCache.put возвращает null 
                    mIcon11 = image;
                }
 
            } catch (Exception e) {
                e.printStackTrace();
            }
 
            return mIcon11;
 
        }
 
        protected void onPostExecute(Bitmap result) {
            try{
                bmImage.setImageBitmap(result);}catch(Exception e){}
        }
    }
 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.08.2013, 18:00     LruCache метод put возвращает null
Посмотрите здесь:

Android Добавление записи в БД (использование put)
Android lockCanvas() возврашяет null
Проверка на null Android
Android PUT запрос
Android Вставить null в SQLite
Android FindViewByID возвращает Null
RelativeLayout findViewById return null Android
Android Put / Get Extra
Android FindViewByID возвращает Null производного класса View
Android Геокодирование. getFromLocationName() возвращает null
BitmapFactory.decodeFile всегда возвращает null Android
Обращение к NULL TextView Android

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
18.08.2013, 21:22     LruCache метод put возвращает null #2
Returns
the previous value mapped by key.
ASAndrey
1 / 1 / 0
Регистрация: 13.07.2013
Сообщений: 70
18.08.2013, 22:29  [ТС]     LruCache метод put возвращает null #3
Спасибо, я уже решил проблему) Но у вас правильный ответ)
Yandex
Объявления
18.08.2013, 22:29     LruCache метод put возвращает null
Ответ Создать тему
Опции темы

Текущее время: 09:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru