Фрагмент в ActionBar Tab и ViewPager

голоса
2

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

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

благодаря

Задан 08/11/2011 в 03:03
источник пользователем
На других языках...                            


4 ответов

голоса
7

Конечно, проверить 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);
Ответил 08/11/2011 в 04:01
источник пользователем

голоса
0

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

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

Ответил 25/04/2012 в 09:48
источник пользователем

голоса
0

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

Ответил 29/12/2013 в 15:29
источник пользователем

голоса
0

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

Ответил 07/03/2014 в 00:46
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more