2015-12-18 5 views
2

У меня есть ViewPager с несколькими фрагментами, используя FragmentStatePageAdapter.OnPageChangeListener - как получить идентификатор фрагмента, который я только что удалил?

Я ищу осуществить то, что позволит мне послать строку данных, введенных в EditText из fragment к activity, когда пользователь пойло от фрагмента.

Я посмотрел на OnPageChangeListener и попробовал несколько разных вещей с этим, но, как onPageSelected дает fragment id в одном ты двигаешься на я не могу получить Layout View от fragment ссылаться на EditText I» м отскакивает. Там также не будет никакого набора фрагмент, который ведет к другому, т.е. Fragment 1 не всегда приводит к Fragment 2 и т.д.

Я попытался с помощью onDestroy() из fragment, но это не кажется, что называется, пока я не имею вытащил 2 fragments, так что это бесполезно.

Есть ли у кого-нибудь какие-либо предложения относительно того, что я мог бы использовать для достижения этого?

Благодаря

+1

Вы используете FragmentStatePagerAdapter для своего ViewPager? Я предполагаю, что у класса будет какая-то функция 'getPosition(). – AdamMc331

+1

Релевантно, но не уверен, что это дубликат. Проверьте это: http://stackoverflow.com/questions/8258759/getting-the-current-position-of-a-viewpager – AdamMc331

+0

@ McAdam331 да, используя FragmentStatePagerAdapter. Я могу получить текущую позицию без проблем, когда я нахожусь на фрагменте, я думаю, моя проблема в том, что мне нужно сохранить это где-то до того, как вызывается onPageSelected, а затем передайте его, но без взаимодействия с кнопкой или с подобным. Имеет ли это смысл? Не уверен, что я могу использовать onAttach() или onResume(), поскольку мне кажется, что они уже были задействованы как часть функции FragmentStateAdapters, так же, как onDestroy не вызывается до тех пор, пока после двух пробоев? – KT79

ответ

0

Попробуйте вспомнить идентификатор каждого фрагмента на каждом onPageSelected(). Как только фрагмент выбран, вы помните его идентификатор. После того, как выбран другой, вы проверяете сохраненный идентификатор как раз перед его обновлением.

+0

можете ли вы расширить это немного больше? В какой момент вы запомните фрагмент и используете ли вы viewpager.getcurrentitem()> – KT79

Смежные вопросы