【发布时间】:2016-01-17 01:32:38
【问题描述】:
有没有办法在设计支持 TabLayout 中动态更新选项卡的标题?我尝试在适配器中添加一个方法,该方法更改包含选项卡标题的 ArrayList 的内容并通知适配器,但选项卡标题不会更改为新标题。
适配器:
public class TabAdapter extends FragmentPagerAdapter {
private final List<Fragment> fragments = new ArrayList<>();
private final List<String> fragmentTiles = new ArrayList<>();
public TabAdapter(FragmentManager fm) {
super(fm);
}
public void addFragment(Fragment fragment, String title) {
fragments.add(fragment);
fragmentTiles.add(title);
}
@Override
public Fragment getItem(int position) {
return fragments.get(position);
}
@Override
public int getCount() {
return fragments.size();
}
@Override
public CharSequence getPageTitle(int position) {
return fragmentTiles.get(position);
}
public void setFragmentTiles(int index, String title) {
fragmentTiles.set(index, title);
Log.e("ARRAY", fragmentTiles.toString());
}
}
我正在像这样更改标题 ArrayList 的内容:
adapter.setFragmentTiles("New title 1");
adapter.setFragmentTiles("New title 2");
adapter.notifyDataSetChanged();
但这不起作用。我是否也必须更新 ViewPager 或 TabLayout?
【问题讨论】:
标签: arraylist android-arrayadapter android-design-library androiddesignsupport android-tablayout