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

После вызова notifydataset() items в listview "моргают" - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android Создать свой "реактор" http://www.cyberforum.ru/android-dev/thread965314.html
Как вставить СВОЙ обработчик СВОЕГО события? Пробую написать свой класс обработки мультитатча (MyMulti). За основу взял обработку onTouch. Выглядит использование примерно так: @Override public boolean onTouch(View v, MotionEvent event) { MyMulti.onTouch(v, event); }
Android Хранение настроек пользователя Где лучше хранить настройки пользователя в Preferences или в БД? http://www.cyberforum.ru/android-dev/thread965265.html
Android Получить содержимое сайта
Здравствуйте, скажите, пожалуйста, как можно получить содержимое сайта (php файла) Я делаю так TextView title; BufferedInputStream bis; String strFileContents; ... try { URL url = new URL("http://.../index.php");
Android Из ListView на новую Activity
Доброго времени суток! Я делал приложение в котором из "главного меню" осуществляется переход на новую Activity. В том Activity используется ListView, который отображает 50 строк с названиями городов. Так вот, нужно было чтобы по нажатию на название определённого города выводилось новое Activity с информацией уникальной для каждого города, но опять же в ListView. Ниже представлен мой Activity...
Android Программно изменть текст вкладки в tabhost http://www.cyberforum.ru/android-dev/thread965155.html
Всем привет! Скажите пожалуйста как можно изменить программно текст вкладки в tabhost?Например на первой вкладке расположить кнопку, и в обработчике события написать код который изменяет заголовок второй вкладки. Я пробовал применять у вкладки метод setIndicator, но что-то у меня не получается.
Android Какого размера делать приложение? Дали задание: написать приложение, а для какого экрана не сказали. Можно ли как-то сделать приложение, экран которого будет универсальным (подстраиваться под любой размер)? подробнее

Показать сообщение отдельно
ta4
0 / 0 / 0
Регистрация: 09.05.2012
Сообщений: 19
30.09.2013, 04:11     После вызова notifydataset() items в listview "моргают"
столкнулся с такой проблемой, перерыл stackoverflow, ответа не нашел
есть список listview, который показывает картинки, загружая их из сети/кэша.
для него адаптер у которого есть функция getView()
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 public View getView(int i, View view, ViewGroup viewGroup) {
        ViewHolder vh;
        ImageView imageView;
        Image image = (Image)getItem(i);
        if (view==null)
        {
            inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            view = inflater.inflate(R.layout.item, null);
            vh = new ViewHolder();
            vh.imageView = (ImageView) view.findViewById(R.id.imageView);
            view.setTag(vh);
        }
        vh = (ViewHolder)view.getTag();
        vh.i = i;
        imageView = vh.imageView;
        imageView.getLayoutParams().height = (int)getImageViewHeight(image.getHeight(),image.getWidth(),context.getResources().getDisplayMetrics().widthPixels, context.getResources().getDisplayMetrics().density);
 
        Log.e("SSS",String.valueOf(listView.getFirstVisiblePosition()+" "+i));
        imageView.setImageBitmap(null);
 
        imageLoader.displayImage(items.get(i).getLink(), imageView, options);
 
        return view;
чтобы добиться плавности прокрутки использую ViewHolder. После добавления новых элементов в список, вызываю notifydataset(). Все элементы в списке перерисовываются, соответственно картинки также перезагружаются (если картинка была в памяти, то она быстро перезагружается, но все же заметно, т.е. на долю секунды imageView становится пустым).
Если не использовать ViewHolder, то все нормально. Картинки которые пользователь сейчас видит не обновляются. Но при это производительность немного прокрутки списка падает.

Для загрузки картинок использую Universal Image Loader. Почти уверен что дело не в нем, т.к. пробовал обходиться и без него.
На всякий случай настроки UIL
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
options = new DisplayImageOptions.Builder()
                .cacheInMemory(true)
                .imageScaleType(ImageScaleType.EXACTLY_STRETCHED)
                .cacheOnDisc(true)     
                .build();
        config = new ImageLoaderConfiguration.Builder(contex
                .tasksProcessingOrder(QueueProcessingType.FIFO) 
                //.denyCacheImageMultipleSizesInMemory()
                .discCacheSize(3 * 1024 * 1024)
                .threadPriority(Thread.NORM_PRIORITY-1)
                .threadPoolSize(3) // default
                .memoryCacheSize(3 * 1024 * 1024)
                .writeDebugLogs()
                .build();
Не знаю куда копать уже даже....
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 15:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru