2

タブレットのアクションバータブと電話のViewPagerの両方でフラグメントを使用することは可能ですか?電話はサポートライブラリを使用しており、アクションバーのTabListenerと互換性がないようです。両方に同じフラグメントを使用させるためのトリックはありますか?

私がこれまでに見た唯一の可能な回避策はこれです。

ありがとう

4

4 に答える 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);
于 2011-11-08T03:01:18.423 に答える
0

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

これは、ActionBar.TabおよびTabListenerとの互換性ライブラリのフラグメントを使用するための良い方法です。

于 2012-04-25T08:48:33.453 に答える
0

これは、NikolayElenkovの回答からのTabsPagerAdapterhttps : //wwwjdic.googlecode.com/svn-history/r684/branches/2.0/wwwjdic/src/org/nick/wwwjdic/TabsPagerAdapter.javaの実装例です。

于 2013-12-29T14:29:34.587 に答える
0

アイデアはandroid-support-v13.jarを使用することです。このファイルには、ネイティブフラグメント用のFragmentPagerAdapterとViewPagerが含まれています。

于 2014-03-06T23:46:46.540 に答える