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

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

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

Как получить результат обработчика событий - Программирование Android

10.12.2014, 16:06. Просмотров 309. Ответов 4
Метки нет (Все метки)

Подскажите, пожалуйста, начинающему. Как получить результат position из onPageSelected?

Смысл вот в чем. В фрагмент кинул кнопку, соответственно для каждой страницы создается ее копия. Хочу, используя позицию, привязать действие кнопки к определенному условию. Что-то типа, если позиция 0, тогда открыть эту активити, если 3, то эту. Заранее благодарен!



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
public class MainActivity extends FragmentActivity {
 
    private CatPagerAdapter mCatPagerAdapter;
    private ViewPager mViewPager;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        mCatPagerAdapter = new CatPagerAdapter(getSupportFragmentManager(), this);
 
        mViewPager = (ViewPager) findViewById(R.id.pager);
        mViewPager.setAdapter(mCatPagerAdapter);
        mViewPager = (ViewPager) findViewById(R.id.pager);
        mViewPager.setPageTransformer(true, new ZoomOutPageTransformer());
 
        
        mViewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
 
            @Override
            public void onPageSelected(int position){
                // TODO Auto-generated method stub
                Toast.makeText(getApplicationContext(), "Выбран " + position,
                        Toast.LENGTH_SHORT).show();
                mViewPager.setCurrentItem(position);
            }
 
            @Override
            public void onPageScrolled(int arg0, float arg1, int arg2) {
                // TODO Auto-generated method stub
 
            }
 
            @Override
            public void onPageScrollStateChanged(int arg0) {
                // TODO Auto-generated method stub
 
            }
        });
 
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.12.2014, 16:06     Как получить результат обработчика событий
Посмотрите здесь:

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

Retrofi 2 как получить результат параллельных запросов - Программирование Android
Все привет. Вот над чем я задумался. Допустим, я делаю три одинаковых запроса подряд на загрузку, к примеру, картинки в base. Затем мне...

Получить результат от стороннего приложения - Программирование Android
Доброе время суток. Вызываю сторонний редактор из своей активности так: Intent edInt=new Intent(); ...

Отправить post запрос с параметрами на сайт и получить результат - Программирование Android
Всем привет! Делаю проект для сайта школы. Нужно отправить post запрос с параметрами на сайт и получить результат. Стандартный способ не...

Работа с сетью в другом потоке. Нужно получить результат - Программирование Android
class AnotherThread extends Thread { @Override public void run() { try { ...

Ошибка при создании обработчика - Программирование Android
Извините за глупый вопрос... btnAdd.setOnClicklisteer(this) AndroidStudio ругается на этот участок кода.... Первый день работаю с java и...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
CoolMind
418 / 401 / 65
Регистрация: 06.10.2012
Сообщений: 1,727
11.12.2014, 00:19     Как получить результат обработчика событий #2
Koljanych, не так давно решал похожую задачу, но сейчас под рукой нет. Там есть несколько вариантов решения. В вашем случае что не работает? Можно также пытаться работать через теги фрагментов, их названия, привязывать через onAttach и т.д. (например, http://stackoverflow.com/questions/8...by-a-viewpager).
Koljanych
0 / 0 / 0
Регистрация: 16.11.2009
Сообщений: 18
11.12.2014, 10:14  [ТС]     Как получить результат обработчика событий #3
Цитата Сообщение от CoolMind Посмотреть сообщение
Koljanych, не так давно решал похожую задачу, но сейчас под рукой нет. Там есть несколько вариантов решения. В вашем случае что не работает? Можно также пытаться работать через теги фрагментов, их названия, привязывать через onAttach и т.д. (например, http://stackoverflow.com/questions/8...by-a-viewpager).
Вы знаете, сложно сказать, что не работает. Все работает до того момента, как нужно получить это значение. Просто я тупо не знаю как это сделать. Логически понимаю, что этот метод не просто так определяет активный page. Но вот как привязать результат его работы к какой-нибудь переменной и использовать далее в активити... вот это для меня вопрос..
dan41k
]:->
97 / 91 / 13
Регистрация: 12.11.2013
Сообщений: 398
11.12.2014, 12:44     Как получить результат обработчика событий #4
Добавь переменную position в свой фрагмент, получай ссылка на фрагмент таким образом:

Java
1
2
3
4
 Fragment page = (Fragment) getSupportFragmentManager()
                        .findFragmentByTag(
                                "android:switcher:" + R.id.viewpager + ":"
                                        + viewPager.getCurrentItem());
далее приведи page к классу твоего фрагмента (либо интерфейса, отвечающего за получения позиции) и вуа ля.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.12.2014, 14:08     Как получить результат обработчика событий
Еще ссылки по теме:

ImageButton смена картинки и обработчика - Программирование Android
Здравствуйте. Как сделать ImageButton таким образом, чтобы при нажатии на нее, скажем к примеру, начинала играть музыка и менялась...

Доступ к контролу на форме из обработчика - Программирование Android
на форму кинул две кнопки и один эдит, как мне из обработчика кнопки получить этот эдит? оно его не видит почему то...

Приложение крашится после присвоения обработчика - Программирование Android
Приложение крашится при таком коде: package com.mathahakar.e_cigmaster; import android.os.Bundle; import...

Программное создание обработчика события OnClick для button - Программирование Android
Иметься кнопка, которая создается самим пользователем Код создания кнопки: public void CreateButton() { LinearLayout...

Как вызвать другой результат try-catch в методе? - Программирование Android
Как вызвать другой результат try-catch в методе doInBackground? ПС: Приложение для андроид, есть типо такого @Override ...

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


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

Или воспользуйтесь поиском по форуму:
Koljanych
0 / 0 / 0
Регистрация: 16.11.2009
Сообщений: 18
11.12.2014, 14:08  [ТС]     Как получить результат обработчика событий #5
Большое спасибо за ответы. Решил так: во второй активности создал переменную static и уже в самом обработчике событий onPageSelected присваивал ей значение position. Таким образом инфа об активном page передавалась во вторую активити.
Yandex
Объявления
11.12.2014, 14:08     Как получить результат обработчика событий
Ответ Создать тему
Опции темы

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