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

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

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

Перерисовка ListView - Программирование Android

27.07.2015, 20:08. Просмотров 337. Ответов 0
Метки нет (Все метки)

Добрый день, есть вот такая проблема, и никак не получается её решить, очень прошу помощи. Есть List<View>, туда добавляю 3 View, что бы был слайдинг экрана. На последней странице находится список, его обновляю при подключению к интернету. И вот в чем проблема. Подключаюсь к интернету - список показывает старую информацию, перезагружаю приложение - показывает нужную. А вот динамически никак не получается перерисовать View. Пробовал и метод перерисовки View, и перерисовки адаптера - ничего не помогает. Вот исходный код:
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
list = (ListView) page_list.findViewById(android.R.id.list);
        if(api == null) {
            list.setAdapter(songAdapter);
            list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                @Override
                public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                    playSong(position);
                    viewPager.setCurrentItem(1);
                }
            });
        } else {
 
            list.setAdapter(audioAdapter);
            list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                @Override
                public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                    playSong(position);
                    viewPager.setCurrentItem(1);
                }
            });
            list.refreshDrawableState();
        }
        songAdapter.notifyDataSetChanged();
        audioAdapter.notifyDataSetChanged();
        pages.add(page_list);
 
list.invalidateViews();
        list.refreshDrawableState();
        songAdapter.notifyDataSetChanged();
        audioAdapter.notifyDataSetChanged();
 
@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (requestCode == REQUEST_LOGIN) {
            if (resultCode == RESULT_OK) {
                //авторизовались успешно
                account.access_token=data.getStringExtra("token");
                account.user_id = data.getLongExtra("user_id", 0);
                account.save(MainActivity.this);
                api=new Api(account.access_token, Constants.API_ID);
                showButtons();
                checkSwitch();
                list.invalidateViews();
                list.refreshDrawableState();
                songAdapter.notifyDataSetChanged();
                audioAdapter.notifyDataSetChanged();
            }
        }
    }
 
private void logOut() {
        api=null;
        account.access_token=null;
        account.user_id = 0;
        account.save(MainActivity.this);
        showButtons();
        list.invalidateViews();
        list.refreshDrawableState();
        songAdapter.notifyDataSetChanged();
        audioAdapter.notifyDataSetChanged();
    }
Перерисовку делаю и в onCreate, и в методах входа и выхода из инета, но все равно не обновляется, только после запуска приложения.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.07.2015, 20:08
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Перерисовка ListView (Программирование Android):

ListView. После добавления кнопки перестал быть доступен сам ListView - Программирование Android
Кастомизировал ListView с помощью нескольких TextView. Но после того, как добавил ImageButton сам список стал недоступен для клика, а...

Listview вывод данных и переход по нажатию на другой Listview SQLite - Программирование Android
Доброго извините за название темы, долго не мог сформировать название, В общем у меня беда с пытаюсь написать программу где первый экран...

Данные из SQlite в ListView, обработка события ListView - Программирование Android
Ребят, есть БД, ListView. Надо при нажатии на строчку ListView вытащить данные int из БД. mList.setOnItemClickListener(new...

ListView, ToggleButton, SQLite, CursorAdapter. Как найти idItem в ListView, где была нажата ToggleButton? - Программирование Android
Добрый день. Затрудняюсь понять один момент: У меня есть ListView, который заполнен Items. Каждый Item - это свой XML. Пока...

Копирование данных из 1 listView во 2 listView - Программирование Android
Нужно что бы при нажатии на один элемент в первом ListView он копировался во второй ListView причём многократно.Но я использую...

Перерисовка картинки - Программирование Android
Нужно перерисовывать секундную стрелку часов. Запихнул всё в timetask и запускаю через таймер. не могу разобраться, как это сделать....

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.07.2015, 20:08
Привет! Вот еще темы с ответами:

Перерисовка layout - Программирование Android
здравствуйте,может кто сталкивался с такой проблемой имею такой xml &lt;RelativeLayout ...

Переход из Listview в Listview - Программирование Android
Как сделать, что бы когда нажимаешь в главном листвью на кнопку, открывалось новое нужное(т.е. то по которому тапнули) активити с другим...

Использование ListView в ListView - Программирование Android
Всем привет. Можете показать как использовать ListView в ListView, с заполнением как внешнего ListView, так и внутреннего причем с...

ListView - Программирование Android
Добрый день. У меня есть лист ListView. Данные для заполнения он берет из таблицы БД. Таблица имеет два поля (имя, статус выполнения)....


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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