2

TabLayout介して2つのフラグメント(両方ともアイテムのリストを保持する)が取り込まれた(デザインライブラリからの)を持っていFragmentPagerAdapterます。

2 つのリストは相互に関連しています。どちらも合計人数を保持し、その人がどちらのリストに含まれているかによって、その人が指名されるかどうかが決まります。メンバーをあるリストから別のリストにスワイプしたり、その逆にスワイプしたりできます。

問題

タブのタイトルに (特定のリストに含まれる人数の) カウントを表示したい/必要があります。簡単です。少しコードを追加するgetPageTitleと、問題なく動作します。リストを変更するまでは、FragmentPagerAdapterタイトルをもう一度更新するように に指示する必要があります。

これまでのところ、私が見つけた唯一の解決策は次のように呼び出すことでした:mTabLayout.setTabsFromPagerAdapter(mAdapter);

このメソッドが行うことはすべて、持っremoveAllTabsているものをループしてFragmentPagerAdapter、それらを新しいものとして追加します。

これはタイトルでは機能しますが、あまり効率的ではありませんが、最も重要なことは、最初のタブが再び選択されたアイテムになることです。

通話mViewPager.setCurrentItem(int item)後に追加しようとしましたが、うまくいきません。mTabLayout.setTabsFromPagerAdapter(mAdapter);

私も次のようなことを試しました

mAdapter.notifyDataSetChanged();
tabLayout.invalidate();

効果なし。

4

1 に答える 1