Урок 125. ViewPager
- KamiSempai
- Сообщения: 1339
- Зарегистрирован: 17 фев 2012, 21:23
- Откуда: Мордор
Re: Урок 125. ViewPager
У ViewPager нет ItemClickListener-а.
Каждая страница - это View, значит, вы можете самостоятельно назначить OnClickListener на этот View.
Каждая страница - это View, значит, вы можете самостоятельно назначить OnClickListener на этот View.
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.
Хватит таскать макулатуру на тренировку! Используй T Note.
Re: Урок 125. ViewPager
Здравствуйте
Кто-нибудь может помочь с этим ViewPager?
Хотелось бы реализовать возможность слайдов бесконечно в обе стороны
При этом на страничке должна меняться дата (на один день + или - в зависимости от стороны, при этом воскресение пропускаться)
Странички однотипные с выводом запроса из БД по выбранной дате
И скажите пожалуйста, ожидается ли урок по MySQL а то не очень понятно как это сделать
Кто-нибудь может помочь с этим ViewPager?
Хотелось бы реализовать возможность слайдов бесконечно в обе стороны
При этом на страничке должна меняться дата (на один день + или - в зависимости от стороны, при этом воскресение пропускаться)
Странички однотипные с выводом запроса из БД по выбранной дате
И скажите пожалуйста, ожидается ли урок по MySQL а то не очень понятно как это сделать
Re: Урок 125. ViewPager
Именно с этим уроком какой-то трабл
http://startandroid.ru/ru/uroki/vse-uro ... pager.html
Исправте пожалуйста.
http://startandroid.ru/ru/uroki/vse-uro ... pager.html
Исправте пожалуйста.
Re: Урок 125. ViewPager
Можно ли как-то сделать чтобы все заголовки были закреплены и между ними перелистывать? Что-то типа как сейчас на Google Play сделано.
Re: Урок 125. ViewPager
http://stackoverflow.com/questions/7046 ... google-app
а загуглить никак, да?
а загуглить никак, да?
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
Re: Урок 125. ViewPager
Здравствуйте, нужна ваша помощь,только начал разбираться.
Вопрос в следующем, есть FragmentPagerAdapter, и созданные в нем 3 фрагмента
[syntax=java]
public class TitleAdapter extends FragmentPagerAdapter {
public final String titles[] = new String[] { "FragA", "FragB", "FragC" };
public final Fragment frags[] = new Fragment[titles.length];
public TitleAdapter(FragmentManager fm) {
super(fm);
frags[0] = new FragmentA();
frags[1] = new FragmentB();
frags[2] = new FragmentC();
}[/syntax]
В каждом фрагменте есть кнопка, как мне из activity получить доступ к ней.
пробовал следующим образом:
[syntax=java]
TitleAdapter titleAdapter = new TitleAdapter(getSupportFragmentManager());
btnStart = (Button) titleAdapter.frags[0].getView().findViewById(R.id.btnStart);[/syntax]
Но при запуске, ошибка java.lang.NullPointerException
что я не так делаю?
Вопрос в следующем, есть FragmentPagerAdapter, и созданные в нем 3 фрагмента
[syntax=java]
public class TitleAdapter extends FragmentPagerAdapter {
public final String titles[] = new String[] { "FragA", "FragB", "FragC" };
public final Fragment frags[] = new Fragment[titles.length];
public TitleAdapter(FragmentManager fm) {
super(fm);
frags[0] = new FragmentA();
frags[1] = new FragmentB();
frags[2] = new FragmentC();
}[/syntax]
В каждом фрагменте есть кнопка, как мне из activity получить доступ к ней.
пробовал следующим образом:
[syntax=java]
TitleAdapter titleAdapter = new TitleAdapter(getSupportFragmentManager());
btnStart = (Button) titleAdapter.frags[0].getView().findViewById(R.id.btnStart);[/syntax]
Но при запуске, ошибка java.lang.NullPointerException
что я не так делаю?
Re: Урок 125. ViewPager
нужно организовать интерфейс и определить его в активити, во фрагмент в onAttachActivity получить ссылку на интерфейс и потом использовать что бы связаться с активити
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: Урок 125. ViewPager
Не очень, понимаю логику как это работает, попробовал сделать так:rezak90 писал(а):нужно организовать интерфейс и определить его в активити, во фрагмент в onAttachActivity получить ссылку на интерфейс и потом использовать что бы связаться с активити
в MainActivity.java вставил
[syntax=java5]
public interface MyInterface {
}[/syntax]
В фрагмент дописал следующее:
[syntax=java5]
public MyInterface mMyInterface;
public void onAttach (MainActivity activity){
if(activity instanceof MyInterface)
mMyInterface = (MyInterface) activity;
}[/syntax]
Как мне теперь из активити получить ссылку на кнопку в фрагменте, что бы потом на нее уже можно было повешать listener?
Re: Урок 125. ViewPager
У меня такой вопрос:
на каждой странице у меня textview. я подгружаю текст и он не влазит целиком на страницу. как сделать вертикальную прокрутку текста на странице? (пробовал добавлять скроллы, но они только показываются - viewpager их блокирует)
на каждой странице у меня textview. я подгружаю текст и он не влазит целиком на страницу. как сделать вертикальную прокрутку текста на странице? (пробовал добавлять скроллы, но они только показываются - viewpager их блокирует)
- KamiSempai
- Сообщения: 1339
- Зарегистрирован: 17 фев 2012, 21:23
- Откуда: Мордор
Re: Урок 125. ViewPager
Не может быть такого. Поместите текст в ScrollView и все должно работать.
[syntax=xml] <ScrollView
android:id="@+id/scrollView1"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Large Text"
android:textAppearance="?android:attr/textAppearanceLarge" />
</ScrollView>[/syntax]
[syntax=xml] <ScrollView
android:id="@+id/scrollView1"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Large Text"
android:textAppearance="?android:attr/textAppearanceLarge" />
</ScrollView>[/syntax]
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.
Хватит таскать макулатуру на тренировку! Используй T Note.
Re: Урок 125. ViewPager
Здравствуйте,подскажите пожалуйста,как быть в достаточно типичной ситуации. Я тоже, как и saper666 подгружаю текст и он не помещается целиком на страницу, но мне необходимо отобразить только то , что поместилось, а остальное отобразить на соседний экран, ну и так далее...
Есть идея, что необходимо заранее знать какое количество текста помещается на экран(на каждом экране TextView),скажем в строчках, а далее брать интервалами, которые можно определить например как pageNumber*[i;i+n], где n-количество строчек,которое уместиться на странице.....но я честно говоря не знаю,как это можно реализовать(как считать строчки)+ возможно проблема с изменениями шрифтов, может быть кто-нибудь знает как быть в такой ситуации?нагуглить что-то не получается
Есть идея, что необходимо заранее знать какое количество текста помещается на экран(на каждом экране TextView),скажем в строчках, а далее брать интервалами, которые можно определить например как pageNumber*[i;i+n], где n-количество строчек,которое уместиться на странице.....но я честно говоря не знаю,как это можно реализовать(как считать строчки)+ возможно проблема с изменениями шрифтов, может быть кто-нибудь знает как быть в такой ситуации?нагуглить что-то не получается
Re: Урок 125. ViewPager
Здравствуйте!
Столкнулся со следующей проблемой. Использую ViewPager и FragmentStatePagerAdapter. Всё замечательно работает, но, если происходит изменение ориентации экрана, происходит следующее. ViewPager сохраняет 3 страницы и после их воссоздаёт. По идее, при развотороте, Activity пересоздаётся, т.е. onCreate() отрабатывается. В onDestroy() ссылки обнуляю. Если я принудительно выгружаю приложение, то при запуске не происходит подобного. Где я не прав? Подскажите пожалуйста.
Так, вопрос решил:
@Override
protected void onSaveInstanceState(final Bundle outState) {
// super.onSaveInstanceState(outState);
}
Столкнулся со следующей проблемой. Использую ViewPager и FragmentStatePagerAdapter. Всё замечательно работает, но, если происходит изменение ориентации экрана, происходит следующее. ViewPager сохраняет 3 страницы и после их воссоздаёт. По идее, при развотороте, Activity пересоздаётся, т.е. onCreate() отрабатывается. В onDestroy() ссылки обнуляю. Если я принудительно выгружаю приложение, то при запуске не происходит подобного. Где я не прав? Подскажите пожалуйста.
Так, вопрос решил:
@Override
protected void onSaveInstanceState(final Bundle outState) {
// super.onSaveInstanceState(outState);
}
Re: Урок 125. ViewPager
Доброго время суток!
У меня вопрос на тему которая много раз поднималась но конкретно не кто ответ не дал.
Использую ViewPager и FragmentStatePagerAdapter. при запуске Activity во всех фрагментах крутятся прогресс бары, из другого класса "приходит сообщение" с номером фрагмента, задача убрать прогресс бар и установить нужное содержимое фрагмента , но так чтобы при перелистывании все сохранялось. Если кто то решал задачи по динамическому наполнению фрагментов помогите пожалуйста.
У меня вопрос на тему которая много раз поднималась но конкретно не кто ответ не дал.
Использую ViewPager и FragmentStatePagerAdapter. при запуске Activity во всех фрагментах крутятся прогресс бары, из другого класса "приходит сообщение" с номером фрагмента, задача убрать прогресс бар и установить нужное содержимое фрагмента , но так чтобы при перелистывании все сохранялось. Если кто то решал задачи по динамическому наполнению фрагментов помогите пожалуйста.
- Mikhail_dev
- Сообщения: 2386
- Зарегистрирован: 09 янв 2012, 14:45
- Откуда: Самара
Re: Урок 125. ViewPager
В чем проблема сделать во фрагменте методы для обработки, которые дергать через активити? Другими словами это обычные вызовы методов. Нужно лишь ссылки сохранить на фрагменты при добавлении их в FragmentStatePagerAdapter.
- Mikhail_dev
- Сообщения: 2386
- Зарегистрирован: 09 янв 2012, 14:45
- Откуда: Самара
Re: Урок 125. ViewPager
не происходит подобного чего? И как вы принудительно выгружаете?сли я принудительно выгружаю приложение, то при запуске не происходит подобного.
Сразу скажу что в onDestroy ничего делать нельзя, метод может вообще не вызываться по самой природе Андроида. Используйте метод onStop или лучше еще onPause
Re: Урок 125. ViewPager
Отличная идея, но тогда возникает еще один вопрос, допустим я поменял содержимое, но при перелистывании у фрагмента вызывается метод onCreate(), как сохранить изменения? или в таком случае отказаться от FragmentStatePagerAdapter.m090050 писал(а):В чем проблема сделать во фрагменте методы для обработки, которые дергать через активити? Другими словами это обычные вызовы методов. Нужно лишь ссылки сохранить на фрагменты при добавлении их в FragmentStatePagerAdapter.
План действий такой:
1. использовать FragmentPagerAdapter
2. добавляем в свой Fragment нужный функционал
3. при public Fragment getItem(int position){} сохранять ссылки на Fragment
4. в момент когда нужно "подкрутить" Fragment берем его ссылку и дергаем свои функции
Я все правильно понял?
- Mikhail_dev
- Сообщения: 2386
- Зарегистрирован: 09 янв 2012, 14:45
- Откуда: Самара
Re: Урок 125. ViewPager
Да. Еще можете глянуть метод у ВьюПейджера setOffscreenPageLimit. Вырезка с урока к одному из адаптеров
Вообще данные уж лучше сам фрагмент где-то забирает, если он мертвый, а данные ему готовы. Так будет логичней.Можно сделать вывод. Этот адаптер быстрый, т.к. не требует пересоздания. Но затратный, т.к. все держит в памяти. Т.е. подходит для небольшого количества страниц. Например, набор вкладок или визард.
Правда есть нюанс: хоть сами фрагменты и не уничтожаются, но уничтожается их View-структура и потом создается заново. Вставьте лог в метод onCreateView и убедитесь. Хранится структура только текущей страницы и по одной справа и слева. Это кол-во соседних страниц с сохраняемой View-структурой может быть настроено методом setOffscreenPageLimit.
Re: Урок 125. ViewPager
m090050 спасибо, направление и идею я понял, буду копать, в прицепи количество фрагментов не большое 15-20, и не сильно весомые но аппликация по мимо этого потребляет ресурс, будем разбираться!
Re: Урок 125. ViewPager
Вопрос перенес в новую тему, не знаю как удалить сообщение.
viewtopic.php?f=33&t=3310
viewtopic.php?f=33&t=3310
Последний раз редактировалось sheygam 17 янв 2014, 19:14, всего редактировалось 1 раз.
Re: Урок 125. ViewPager
Скажите пожалуйста, у меня такой вопрос, если класс уже наследуется от какого то другого, как тогда реализовать ViewPager?? Так как надо наследоваться от FragmentPagerAdapter, Fragment но мы не можем потому что наследуемся от другого класса, как быть в такой ситуации?