android – PagerSlidingTabStrip – 在运行时添加新选项卡

android – PagerSlidingTabStrip – 在运行时添加新选项卡,第1张

概述我使用PagerSlidingTabStrip来显示3个选项卡,每个选项卡都包含列表视图. 我有一个场景,我需要在运行添加新选项卡,比如刷卡刷新我需要在左端添加新选项卡. 下面是我添加新标签的代码: pagerAdapter.TABS_COUNT = 4; //global value to change the tabs countpagerAdapter.notifyDataSetChan 我使用PagerSlIDingTabStrip来显示3个选项卡,每个选项卡都包含列表视图.

我有一个场景,我需要在运行时添加新选项卡,比如刷卡刷新我需要在左端添加新选项卡.

下面是我添加新标签的代码:

pagerAdapter.TABS_COUNT = 4; //global value to change the tabs countpagerAdapter.notifyDataSetChanged();pagerSlIDingTabStrip.setVIEwPager(mPager);

但有时候其中一个标签内容变为空列表视图不可滚动.

我能做到这一点的最佳方式是什么?

解决方法 这是一个如何做到的例子,不要说这是最好的方式,但我赶紧写了 https://github.com/jacktech24/pager-sliding-strip-example

首先,你需要一个自定义适配器,这里我使用了一个简单的适配器,它只在每个片段上显示文本,但很容易修改它以支持正常的片段等.示例中的mTabs是:

mTabs = (PagerSlIDingTabStrip) findVIEwByID(R.ID.tabs);

那么这个例子

private class TestAdapter extends FragmentPagerAdapter {        private ArrayList<String> tabs = new ArrayList<>();        public TestAdapter(FragmentManager supportFragmentManager) {            super(supportFragmentManager);        }        @OverrIDe        public Fragment getItem(int position) {            Fragment frag = new ExampleFragment();            Bundle bundle = new Bundle();            bundle.putString("Title",(String) getPageTitle(position));            frag.setArguments(bundle);            return frag;        }        @OverrIDe        public CharSequence getPageTitle(int position) {            return tabs.get(position);        }        @OverrIDe        public int getCount() {            return tabs.size();        }        public voID addTab(String tab) {            tabs.add(tab);            notifyDataSetChanged();            mTabs.notifyDataSetChanged();        }        public voID removeTab(int position) {            tabs.remove(position);            notifyDataSetChanged();            mTabs.notifyDataSetChanged();        }    }

然后,它就像这样简单:

//mAdapter is instance of your adapter    mAdapter.addTab("test 1");    mAdapter.addTab("test 2");    mAdapter.addTab("test 3");    floatingActionbutton fab = (floatingActionbutton) findVIEwByID(R.ID.fab);    fab.setonClickListener(new VIEw.OnClickListener() {        @OverrIDe        public voID onClick(VIEw v) {            mAdapter.addTab("test "+(mAdapter.getCount()+1));        }    });
总结

以上是内存溢出为你收集整理的android – PagerSlidingTabStrip – 在运行时添加新选项卡全部内容,希望文章能够帮你解决android – PagerSlidingTabStrip – 在运行时添加新选项卡所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1123611.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存