Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
GrinJ
0 / 0 / 1
Регистрация: 17.06.2012
Сообщений: 31
1

ViewPager и findViewById для ListView

04.04.2016, 15:30. Просмотров 203. Ответов 0
Метки нет (Все метки)

Добрый вечер. Столкнулся с такой проблемой: создал сначала ListView, переопределил ArrayAdapter, все отлично работало. Затем решил добавить ViewPager и уже в него запихнуть несколько одинаковых ListView, но с разным содержанием. Написал, ViewPager работает прекрасно, правда каждый ListView запихнул в отдельный xml файл и для каждого определил свой класс Fragment. И вот тут я столкнулся с проблемой. Теперь мне надо из mainactivity заполнить список, который подключается из файла layout/layout_1.xml. Таких списков у меня шесть. Если я пытаюсь получить его через
Java
1
TestView = (ListView)findViewById(R.id.View1)
то для первого и второго списка все ОК, для остальных 4 выскакивает ошибка nullpointerexception. После я решил для каждого установить
Java
1
setContentView(R.layout.layout_1);
но после этого вместо главной страницы отображается только последний список, если добавить в конец вызов
Java
1
setContentView(R.layout.activity_main);
то главная страница отображается, только без всех элементов.

Вопрос у меня в результате следующий: как изменить содержимое страниц ViewPager'a, если они добавлены динамически и содержимое каждой страницы находится в отдельном файле в папке layout?

Добавлено через 14 часов 35 минут
Нашел ответ на свой вопрос сам, совершенно случайно. Оказывается ViewPager хранит в кэше только две страницы (поэтому для первых двух findViewById работает отлично, а для всех остальных выдает nullpointerexception). Решение простое - сказать программе, сколько вкладок мы хотим хранить в памяти.

После инициализации вашего viewpager'a добавьте следующую сточку
Java
1
viewPager.setOffscreenPageLimit(N);
где N - количество страниц. Тогда они все будут в памяти R.layout.main_activity и не придется делать вызов функции setContentView()
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.04.2016, 15:30
Ответы с готовыми решениями:

ViewPager и ListView
Вообще пытаюсь сделать пролистывающиеся редактируемые списки. Для этого...

Задать позицию ListView в ViewPager
Добрый вечер! Столкнулся с проблемой обновления ListView, после нажатия на...

Обновление фрагмента с ListView в ViewPager
Есть класс фрагмента, который заполняет адаптер: public class PageFragment...

Скроллинг ViewPager-а как у ListView
Как сделать скроллинг у ViewPager-а по несколько элементов сразу, в зависимости...

Ошибка при инициализации ListView в ViewPager
Всем доброго времени суток. Столкнулся с проблемой, в простом примере создания...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.04.2016, 15:30

ViewPager внутри ListView, Как вставить?
Здравствуйте. Есть задача, внутри ListView сделать айтемы, которые содержат...

ListView + ViewPager как правильнее организовать экспорт в Excel?
Здравствуйте! 1.) на каждой странице Pager'а свой список, как подготавливать...

Как победить подтормаживание при листании ViewPager со списками listview?
Как победить подтормаживание при листании ViewPager со списками listview? ...


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

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

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