Фрагмент на вкладке «Панель действий» и ViewPager - PullRequest
2 голосов
/ 08 ноября 2011

Можно ли использовать фрагмент как на вкладках панели задач планшета, так и на телефоне ViewPager?Похоже, что телефон использует библиотеку поддержки, и это не совместимо с TabListener в панели действий.Есть ли хитрость в том, чтобы заставить оба использовать один и тот же фрагмент?

Единственный возможный обходной путь, который я видел до сих пор, это this .

Спасибо

Ответы [ 4 ]

7 голосов
/ 08 ноября 2011

Конечно, посмотрите образец ActionBarTabsPager в источнике библиотеки совместимости.Вам нужно реализовать оба интерфейса в вашем адаптере для обработки переключения между вкладками и подкачки страниц.Примерно так:

public class TabsPagerAdapter extends FragmentPagerAdapter implements
        ViewPager.OnPageChangeListener, ActionBar.TabListener {
        // implement both
}

Вам нужно добавить такие вкладки (используя библиотеку поддержки / совместимости):

getSupportActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

viewPager = (ViewPager) findViewById(R.id.content);
tabsAdapter = new TabsPagerAdapter(this, getSupportActionBar(),
                viewPager);
ActionBar.Tab tab = getSupportActionBar().newTab();
MyFragment f = new MyFragment();
tabsAdapter.addTab(tab, f);
0 голосов
/ 07 марта 2014

Идея в том, чтобы использовать android-support-v13.jar. Этот файл включает FragmentPagerAdapter для собственных фрагментов, а также ViewPager.

0 голосов
/ 29 декабря 2013

Вот пример реализации TabsPagerAdapter https://wwwjdic.googlecode.com/svn-history/r684/branches/2.0/wwwjdic/src/org/nick/wwwjdic/TabsPagerAdapter.java от Николая Еленкова, ответ.

0 голосов
/ 25 апреля 2012

http://developer.android.com/training/backward-compatible-ui/index.html

Это хороший способ использовать Fragment из библиотеки совместимости с ActionBar.Tab и TabListener.

...