@niorx

Как сгенерировать scrollable tabs?

Идея и главная трудность состоит в том, что нужно генерировать scrollable вкладки при открытии активити считывая их названия с бд. Количество этих вкладок и названия могут быть разными. Елементы внутри вкладок по типу все одинаковые, просто содержат разную информацию. Все гайды в интернете о этих самых вкладках описывают работу только с предопределенным их количеством, когда я же не знаю сколько их у меня будет. Любая помощь будет полезной. Thanks in advance.
  • Вопрос задан
  • 95 просмотров
Пригласить эксперта
Ответы на вопрос 1
@davidnum95
Смысл в том что, пока грузится информация из БД, PagerAdapter должен возвращать одну вкладку с загрузкой. Затем когда инфа загрузилась необходимо сообщить адаптеру, что нужно изменить количество вкладок.
Что то типа:
Adapter
public class SomePagerAdapter extends FragmentStatePagerAdapter {

    private ArrayList<Tab> tabs;

    public ProfilePagerAdapter(FragmentManager fm) {
        super(fm);
    }

    public ProfilePagerAdapter(FragmentManager fm) {
        super(fm);
    }

    @Override
    public Fragment getItem(int position) {
        if (tabs == null) return new LoadingFragment();
        return tabs.get(position);
    }

    public void setTabs(ArrayList<Tab> tabs) {
        this.tabs= tabs;
        notifyDataSetChanged();
    }

    @Override
    public int getItemPosition(Object object) {
        return POSITION_NONE;
    }

    @Override
    public int getCount() {
        if (tabs == null) return 1;
        return tabs.size();
    }

    @Override
    public CharSequence getPageTitle(int position) {
        return tabs.get(position).title;
    }
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы