notifyDataSetChanged和PagerTitleStrip

时间:2012-07-14 17:38:00

标签: android adapter android-viewpager

我使用FragmentAdapter用PagerTitleStrip填充Viewpager(在适配器中使用getTitle())。

一切正常(至少目前为止)除了一件事,当我更新其中一个片段的标题并且我在适配器中调用notifyDataSetChanged时,PagerTitleStrip中的标题会发生变化但不会保持它的textview的大小,例如:

first picture for eg

然后我点击文件夹后更新

second picture fo eg

如您所见,通知标题未完成,因为textview的大小仍为sdcard0。

当我滑动到另一个片段(左或右)时,一旦滑动开始,文本视图的大小就会更新。

有谁知道如何在标题更改的同时更新它?

2 个答案:

答案 0 :(得分:2)

我找到了一种更新textview大小的解决方法。 我调用pagerStrip.setTextSpacing(pagerStrip.getTextSpacing());将文本空间设置为相同的值。

它不完美,但它的工作!

答案 1 :(得分:1)

我遇到了同样的问题。

编辑:这是解决方案,它很容易......

ViewPager mViewPager;
PagerTitleStrip pagerTitleStrip;

mViewPager = (ViewPager) findViewById(R.id.pager);
mViewPager.setAdapter(mSectionsPagerAdapter);

pagerTitleStrip = (PagerTitleStrip) findViewById(R.id.pager_title_strip);

mViewPager.getAdapter().notifyDataSetChanged();
pagerTitleStrip.setTextSpacing(pagerTitleStrip.getTextSpacing());