Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
0 / 0 / 0
Регистрация: 26.07.2013
Сообщений: 5

ViewPager внутри ListView, Как вставить?

26.07.2013, 21:21. Показов 2807. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Есть задача, внутри ListView сделать айтемы, которые содержат ViewPager
Вот фрагмент кода, в котором я пытаюсь просто расместить один элемент ViewPager в одном айтеме ListView, который содержит страничку с TextView

Однако ничего не показывается, хотя все функции успешно отрабатывают и вызываются перегруженые.
Если в это код в адаптере листа в методе getView-попытаться вставить другой компонент, вместо ViewPager (например ImageView, TextView)-то все отображается.
Не могу понять-в чем дело.

Вот фрагмент кода, в котором показана реализация метода getView адаптера для ListView и адаптера для ViewPager
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
@Override
public View getView(int position, View convertView, ViewGroup parent) {
 
View view = convertView;
if (view == null) {
view = lInflater.inflate(R.layout.product_info_list_item,
parent, false);
}
 
ViewPager viewPager = (ViewPager) view.findViewById(R.id.view_pager);
viewPager.setAdapter(new SamplePagerAdapter());
return view;
}
 
public class SamplePagerAdapter extends PagerAdapter{
 
@Override
public Object instantiateItem(ViewGroup container, int position){
View imview = lInflater.inflate(R.layout.info_image, null);
((ViewPager) container).addView(imview);
return imview;
}
 
@Override
public void destroyItem(ViewGroup container, int position, Object object){
((ViewPager) container).removeView((View) object);
}
 
@Override
public int getCount(){
return 1;
}
 
@Override
public boolean isViewFromObject(View view, Object object){
return view.equals(object);
}
 
@Override
public void finishUpdate(View arg0){
}
 
@Override
public void restoreState(Parcelable arg0, ClassLoader arg1){
}
 
@Override
public Parcelable saveState(){
return null;
}
 
@Override
public void startUpdate(View arg0){
}
}
info_image.xml

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:padding="10dip"
android:background="#ddd">
 
<TextView
android:id="@+id/text_view"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_centerInParent="true"
android:background="#888"
android:gravity="center"
android:text="eeeeeeeeeeeeee"
android:textColor="#fff"
android:textSize="30dip" />
 
</RelativeLayout>
product_info_list_item.xml

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 
android:id="@+id/products_info_item_back"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical" >
 
<android.support.v4.view.ViewPager
android:id="@+id/view_pager"
android:layout_width="match_parent"
android:layout_height="match_parent" />
 
</LinearLayout>
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.07.2013, 21:21
Ответы с готовыми решениями:

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

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

Как отобразить ViewPager внутри другой активити
Подскажите пожалуйста. Изучил данный урок. И хочу сделать такую прокрутку страниц внутри класса, который наследуются от активити, а не от...

9
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
26.07.2013, 22:41
зачем такое извращение?
1
0 / 0 / 0
Регистрация: 26.07.2013
Сообщений: 5
26.07.2013, 23:21  [ТС]
Цитата Сообщение от V0v1k Посмотреть сообщение
зачем такое извращение?
Подскажи лучший вариант? Как мне в каждой строке списка отображать ViewPager? К примеру что б в в каждой срочке пролистывать фото, которые относятся к содержимому?

Может ,конечно подход не правильный, но как сделать по другому?
0
106 / 106 / 1
Регистрация: 09.04.2012
Сообщений: 655
26.07.2013, 23:43
Цитата Сообщение от DaemonXXX Посмотреть сообщение
Подскажи лучший вариант? Как мне в каждой строке списка отображать ViewPager? К примеру что б в в каждой срочке пролистывать фото, которые относятся к содержимому?
А нельзя сделать по клику на item чтоб открывался ViewPager с содержимым?
0
0 / 0 / 0
Регистрация: 26.07.2013
Сообщений: 5
26.07.2013, 23:59  [ТС]
Ребята, вы мне обьясните-проблема не решаема? Я понимаю, что можно найти тысячу вариантов. Но почему не работает такой подход? Ведь это нормальное поведение двух адаптеров!
Код элементарный Я лишь привел для примера. Просто обьясните-не будет работать? Имено потому, что ViewPager? Ведь для других-работает компонентов кастомный лист адаптер. я Спокойно отображаю лайауты с различнами компонентами(и кнопками внутри и картинки и текст).
0
ComfyMobile
 Аватар для Nixy
401 / 282 / 34
Регистрация: 24.07.2012
Сообщений: 916
27.07.2013, 00:25
На первый взгляд код верный, возможно в пейджере ничего нет, вот и не отображает
0
0 / 0 / 0
Регистрация: 26.07.2013
Сообщений: 5
27.07.2013, 00:32  [ТС]
я же дал всего 2 xml файла) в пейджере должен быть TextView. да я даже бекграунд ставил пейджеру-белый, и минимальный размер задавал(хотя не знаю-если ничего нет-его самого видно? я андроид только 2-ю неделю учу)
Тот код, что я дал-90% там только пару функций адаптера листвью дописать) Т..е. код примитвные. Причем я пытался делать ViewPager на активити-с таким же содержимым-все отображается.
Ладно-черт с ним моим кодом. Как вообще тогда правильно так сделать, что б отобразить ViewPager на ListView
покажите тогда рабочий код. Или не все можно отображать в адаптере ListView?
0
ComfyMobile
 Аватар для Nixy
401 / 282 / 34
Регистрация: 24.07.2012
Сообщений: 916
27.07.2013, 01:13
В дебаге, показывает, что в листе все есть, надо внимательно смотреть как в пейджере отобразить вьюв, вы пробовали без листа в пейджер что нибудь вывести?

Добавлено через 5 минут
Мне не очень ваш пейджер адаптер нравится
Кликните здесь для просмотра всего текста
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
public class SimplePagerAdapter extends PagerAdapter {
 
    List<View> pages = null;
 
    public SimplePagerAdapter(List<View> pages){
        this.pages = pages;
    }
 
    @Override
    public Object instantiateItem(View collection, int position){
        View v = pages.get(position);
        ((ViewPager) collection).addView(v, 0);
        return v;
    }
 
    @Override
    public void destroyItem(View collection, int position, Object view){
        ((ViewPager) collection).removeView((View) view);
    }
 
    @Override
    public int getCount(){
        return pages.size();
    }
 
    @Override
    public boolean isViewFromObject(View view, Object object){
        return view.equals(object);
    }
 
    @Override
    public void finishUpdate(View arg0){
    }
 
    @Override
    public void restoreState(Parcelable arg0, ClassLoader arg1){
    }
 
    @Override
    public Parcelable saveState(){
        return null;
    }
 
    @Override
    public void startUpdate(View arg0){
    }
}


Добавлено через 50 секунд
тем не менее даже с моим вариантом, глухо

Добавлено через 12 минут
Если получится решить проблему, отпишитесь пожалуйста
0
0 / 0 / 0
Регистрация: 26.07.2013
Сообщений: 5
27.07.2013, 09:04  [ТС]
Тот пример, что вы дали-я пробывал. Я взял его с хабра. Просто я еще изменил.Ну мало ли, может контейнер где разрушался или еще что. Решил сделать примитивно и напрямую, что б проверить. Я пробывал без листа-конечно же )) Все работает. Если делать просто в создании активити. Буду дальше искать проблему.

Да и у меня дебагер показал-все работает. И все функции вызываются -и создание и , типа, апдейт пейджера проходит.
Конечно же отпишусь, если найду ответ.
0
0 / 0 / 0
Регистрация: 22.06.2014
Сообщений: 5
04.02.2015, 02:33
Все работает, в Layout размер поменять надо вручную.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.02.2015, 02:33
Помогаю со студенческими работами здесь

Как победить подтормаживание при листании ViewPager со списками listview?
Как победить подтормаживание при листании ViewPager со списками listview? если быстро листать (ну или даже не очень быстро), то...

Как сделать анимация проявления для Floating внутри Fragment(ViewPager)
Главная активити не содержит ничего, кроме вкладок реализованных при помощи ViewPager и TabLayout. Есть 6 вкладок, каждая из которых...

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

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

Обновление фрагмента с ListView в ViewPager
Есть класс фрагмента, который заполняет адаптер: public class PageFragment extends Fragment implements LoaderCallbacks&lt;Cursor&gt; { ...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru