Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

viewPager onCreate method - Программирование Android

02.04.2013, 14:48. Просмотров 963. Ответов 7
Метки нет (Все метки)

Всем здрасьте, возник следующий вопрос по ViewPager:
Создаю viewPager и заполняю его в методе OnCreate главной активити:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 LayoutInflater inflater = LayoutInflater.from(this);
        pages = new ArrayList<View>();
        page = inflater.inflate(R.layout.category_browse, null);
        pages.add(page);
        page = inflater.inflate(R.layout.activity_main, null);
        pages.add(page);
        page = inflater.inflate(R.layout.browse_topics, null);
        pages.add(page);
        
        PageView pagerAdapter = new PageView(pages);
        viewPager = new ViewPager(this);
        viewPager.setAdapter(pagerAdapter);
        viewPager.setCurrentItem(1);
        setContentView(viewPager);
Так вот добавляются у меня туда 3 активити(category_browse, activity_main,browse_topics).
В активити(например category_browse) необходимо совершать кое-какие действия при ее создании, НО! после добавления этой активити в viewPager перестал вызываться метод OnCreate всех активити кроме главной, вообще ниразу в отладчике не видел вызова метода onCreate.
Вопрос: как и где вызывается этот метод для активити, которые добавлены в viewPager?
(если надо больше кода, пишите что именно, выложу)
Заранее спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.04.2013, 14:48
Здравствуйте! Я подобрал для вас темы с ответами на вопрос viewPager onCreate method (Программирование Android):

Перегрузка OnCreate - Программирование Android
Гуру ООП, помогите исправить &quot;конфликт&quot; Написал свой класс-предок для активити(MyActivity), где в onCreate добавил несколько...

NullPointer в OnCreate - Программирование Android
Наверное типичный вопрос, но вылетает ошибка в: Caused by: java.lang.NullPointerException ...

Вызов метода в onCreate() - Программирование Android
Здравствуйте.Пытаюсь загружать сохраненные данные при старте приложения и сохранять при выходе с помощью Preferences. Добавлял написанные...

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

Подскажите - программа вылетает в OnCreate - Программирование Android
Я действительно совершенно безпонятия от чего она это делает! Программа вылетает на super.onCreate(savedInstanceState); Вот лог ошибки: ...

Программа вылетает в методе OnCreate - Программирование Android
Программа вылетает со следующей ошибкой: 586-3586/spsoft.myapplication E/AndroidRuntime: FATAL EXCEPTION: main ...

7
NiRamz
211 / 211 / 16
Регистрация: 26.12.2010
Сообщений: 691
02.04.2013, 15:01 #2
Цитата Сообщение от Fedorych Посмотреть сообщение
Так вот добавляются у меня туда 3 активити(category_browse, activity_main,browse_topics).
Добавляешь не активити, а разметку.

Цитата Сообщение от Fedorych Посмотреть сообщение
page = inflater.inflate
это создает НЕ активити, а просто view, который добавляется к главной активности
0
Fedorych
0 / 0 / 0
Регистрация: 29.11.2012
Сообщений: 44
02.04.2013, 15:29  [ТС] #3
NiRamz
Хорошо, а вы не могли мне подсказать, как решить мою проблему? Ну или ссылками поделиться?
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
02.04.2013, 15:38 #4
а какая проблема?

Добавлено через 1 минуту
перенесите то что вы запхали в эти активити в отдельные методы главного активити, и вызывайте их там.

Добавлено через 5 минут
еще можно юзать фрагменты
http://stackoverflow.com/questions/7...de-a-viewpager
1
Fedorych
0 / 0 / 0
Регистрация: 29.11.2012
Сообщений: 44
02.04.2013, 15:39  [ТС] #5
Цитата Сообщение от V0v1k Посмотреть сообщение
а какая проблема?

Добавлено через 1 минуту
перенесите то что вы запхали в эти активити в отдельные методы главного активити, и вызывайте их там.
Дело в том, что мне надо заполнять активити TextView'шками при ее создании(количество TextView может быть разным).
Как мне из главной активити вызывать метод OnCreate другой активити? Также разметка может изменяться в методах onResume
0
NiRamz
211 / 211 / 16
Регистрация: 26.12.2010
Сообщений: 691
02.04.2013, 16:33 #6
Цитата Сообщение от Fedorych Посмотреть сообщение
OnCreate
вызвать onCreate - элементарно
startActivity();

В вашем случаи лучше всего использовать фрагменты, простой и мощный инструмент
http://startandroid.ru/ru/uroki/vse-...lifecycle.html
почитайте, там достаточно уроков по ним, чтобы понять что к чему
1
Fedorych
0 / 0 / 0
Регистрация: 29.11.2012
Сообщений: 44
03.04.2013, 00:45  [ТС] #7
всем спасибо

Добавлено через 7 часов 22 минуты
Рано я обрадовался.

Цитата Сообщение от NiRamz Посмотреть сообщение
startActivity();
Но ведь запускает сразу эту активити, т.е. не мою главную, а эту
Цитата Сообщение от NiRamz Посмотреть сообщение
В вашем случаи лучше всего использовать фрагменты
Фрагменты доступны только на андроид 3+, у меня же приложение должно работать начиная от 2.2

Опишу более подробно проблему:
Есть 3 xml c разметкой. В onCreate главного активити все они добавляются в viewPager. На других xml(кроме главной) есть элементы управления(кнопки). Так вот, обработчик событий нажатия кнопки устанавливается в, например, методе onCreate той активити, где находится кнопка. viewPager у меня на основе PageAdapter'a(может следует использовать другой для решения проблемы? какой лучше?). Так вот вопрос: как мне установить слушатель нажатия на кнопку(и обработчик этого слушателя), если даже эта активити не запускается?
Я более чем уверен, что я не единственный кто решал(и я точно уверен что решил) подобного рода проблему(?), и решение скорее всего тривиальное(ведь много людей с этим сталкивались, и наверна нашли простой способ), но я вот никак не могу додумать как. Надеюсь теперь я ясно все изъяснил
0
NiRamz
211 / 211 / 16
Регистрация: 26.12.2010
Сообщений: 691
03.04.2013, 10:02 #8
Цитата Сообщение от Fedorych Посмотреть сообщение
Фрагменты доступны только на андроид 3+, у меня же приложение должно работать начиная от 2.2
используй android-support-v4.jar

Цитата Сообщение от Fedorych Посмотреть сообщение
Есть 3 xml c разметкой. В onCreate главного активити все они добавляются в viewPager. На других xml(кроме главной) есть элементы управления(кнопки). Так вот, обработчик событий нажатия кнопки устанавливается в, например, методе onCreate той активити, где находится кнопка. viewPager у меня на основе PageAdapter'a(может следует использовать другой для решения проблемы? какой лучше?). Так вот вопрос: как мне установить слушатель нажатия на кнопку(и обработчик этого слушателя), если даже эта активити не запускается?
создай свой класс, унаследовав его от PageAdapter и сделав примерно следующее (как из вариантов)
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
@Override
        public Object instantiateItem(View collection, int position){
            LayoutInflater inflater = activity.getLayoutInflater();
            
            if(position == 0) {
                View view = inflater.inflate(R.layout.book_view_pager_item, null);
                
                ((TextView) view.findViewById(R.id.book_description_value)).setText(Html.fromHtml(book.getAbout()));
                ((ViewPager) collection).addView(view, 0);
                return view; 
            } else {
                View view = inflater.inflate(R.layout.book_view_pager_two, null);
                ((TextView) view.findViewById(R.id.book_author_value)).setText(book.getAuthors());
                ((TextView) view.findViewById(R.id.book_type_value)).setText(book.getFormat() + ", " + book.getSize() + ", " + book.getPages());
                ((TextView) view.findViewById(R.id.book_type_of_cover_value)).setText(book.getEdition());
                ((TextView) view.findViewById(R.id.book_isbn_value)).setText(book.getISBN());
                ((ViewPager) collection).addView(view, 0);
                return view; 
            }
        }
0
03.04.2013, 10:02
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.04.2013, 10:02
Привет! Вот еще темы с ответами:

Один объект класса в onCreate и onClick - Программирование Android
Здравствуйте! Описал класс, реально ли, чтобы один метод класса выполнялся в onCreate, а другой в onClick? Т.к. сейчас создавая объект у...

Не передаются данные между onCreate и onResume - Программирование Android
Значение переменной изменяется после загрузки. НО! В onCreate есть TextView который использует это значение. Но судя по размеру текста, оно...

После засыпания вызывается onCreate и onRestoreInstanceState - Программирование Android
Привет. После засыпания вызывается onCreate и onRestoreInstanceState, зачем они вызываются и как обойти? У меня программа для работы...

Запрет выполнения onCreate при повороте экрана - Программирование Android
Здравствуйте уважаемые специалисты! У меня такой вопрос: в моей игре есть вопросы и варианты ответов как в игре (кто хочет стать...


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

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

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