Я создал вкладки в приложении для Android с помощью android.support.v4.app.Fragment
и FragmentStatePagerAdapter
. Он отлично работает (я могу прокручивать между вкладками так же, как я хочу), но у меня есть проблема, которую я не могу решить.Вкладки и фрагменты в Android
У меня есть рабочий стол, на котором я добавляю две вкладки в ActionBar
. В классе, который расширяет FragmentStatePagerAdapter
у меня есть этот код:
@Override
public Fragment getItem(int i) {
switch (i) {
case 0:
return new Fragment1();
case 1:
return new Fragment2();
}
return null;
}
Так что моя проблема заключается в следующем: В фрагментах я хочу деятельность появляться в первый раз, что выбрана вкладка. В настоящее время у меня этот код в onCreateView()
в Fragment1
и Fragment2
, но это происходит при первом запуске главного экрана, а не в первый раз, когда выбрана вкладка.
Есть ли способ, которым я могу что-то сделать, только в первый раз, когда выбран фрагмент? Я хочу, чтобы первый раз, когда была выбрана вкладка, начинается действие Activity, которое собирает некоторую информацию от пользователя, и это одноразовое событие. Он работает, но, как я объяснил, эта страница появляется, когда я вхожу на рабочий стол, чего я не хочу.
Взгляните на документы здесь - http://developer.android.com/guide/components/fragments.html - вы можете найти вспомогательную функцию, которая может делать то, что вы хотите – Tasos
Похоже, вы могли бы просто переместите функциональность от фрагментов к адаптеру в основном действии. Проблема с выполнением этого в фрагментах заключается в том, что вы не имеете контроля над тем, когда они загружаются при использовании ViewPager и вкладок. –