2015-09-13 5 views
0

Я создал вкладки в приложении для 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, которое собирает некоторую информацию от пользователя, и это одноразовое событие. Он работает, но, как я объяснил, эта страница появляется, когда я вхожу на рабочий стол, чего я не хочу.

+0

Взгляните на документы здесь - http://developer.android.com/guide/components/fragments.html - вы можете найти вспомогательную функцию, которая может делать то, что вы хотите – Tasos

+0

Похоже, вы могли бы просто переместите функциональность от фрагментов к адаптеру в основном действии. Проблема с выполнением этого в фрагментах заключается в том, что вы не имеете контроля над тем, когда они загружаются при использовании ViewPager и вкладок. –

ответ

0

Реализовать метод

onTabSelected (табл ActionBar.Tab, FragmentTransaction футов)

и переместить код туда. Для этого вам потребуется реализовать интерфейс ActionBar.TabListener.

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

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