如何在我的活动中删除tablayout中的标签? [英] How to remove tab in tablayout in my activity?

查看:88
本文介绍了如何在我的活动中删除tablayout中的标签?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的TabLayout中有3个标签,我的问题是,例如,我想从TabLayout和ViewPager删除或禁用一个或多个特定标签,是否可以实现,我该怎么做?



i have 3 tabs in my TabLayout, my question is, for example, i want to delete or disable one or more particular Tab from TabLayout and ViewPager, is it possible to achieve, how can i do this?

<pre lang="C#">public class MainActivity extends AppCompatActivity implements TabLayout.OnTabSelectedListener{<br />
<br />
TabLayout tabLayout;<br />
public static ViewPager viewPager;<br />
DBController db;<br />
<br />
@Override<br />
protected void onCreate(Bundle savedInstanceState) {<br />
    super.onCreate(savedInstanceState);<br />
    setContentView(R.layout.activity_main);<br />
<br />
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);<br />
    setSupportActionBar(toolbar);<br />
<br />
    tabLayout = (TabLayout) findViewById(R.id.tabLayout);<br />
<br />
    tabLayout.removeViewAt(3);<br />
<br />
    viewPager = (ViewPager) findViewById(R.id.pager);<br />
<br />
<br />
    Pager adapter = new Pager(getSupportFragmentManager(), tabLayout.getTabCount());<br />
<br />
    viewPager.setAdapter(adapter);<br />
<br />
    tabLayout.setOnTabSelectedListener(this);<br />
<br />
    viewPager.setAdapter(new SectionPagerAdapter(getSupportFragmentManager()));<br />
    tabLayout.setupWithViewPager(viewPager);<br />
<br />
<br />
}<br />
<br />
@Override<br />
public void onTabSelected(TabLayout.Tab tab) {<br />
    viewPager.setCurrentItem(tab.getPosition());<br />
}<br />
<br />
@Override<br />
public void onTabUnselected(TabLayout.Tab tab) {<br />
<br />
}<br />
<br />
@Override<br />
public void onTabReselected(TabLayout.Tab tab) {<br />
<br />
}<br />
@Override<br />
public boolean onCreateOptionsMenu(Menu menu) {<br />
    // Inflate the menu; this adds items to the action bar if it is present.<br />
    getMenuInflater().inflate(R.menu.main, menu);<br />
    return true;<br />
<br />
}<br />
@Override<br />
public boolean onOptionsItemSelected(MenuItem item) {<br />
<br />
    int id = item.getItemId();<br />
<br />
    if (id == R.id.cartlist) {<br />
        Intent intent = new Intent(this,cart_list.class);<br />
        startActivity(intent);<br />
        return true;<br />
    }<br />
        return true;<br />
}<br />
public class SectionPagerAdapter extends FragmentPagerAdapter {<br />
<br />
    public SectionPagerAdapter(FragmentManager fm) {<br />
        super(fm);<br />
<br />
    }<br />
<br />
    @Override<br />
    public Fragment getItem(int position) {<br />
        switch (position) {<br />
                case 0:<br />
                    return new Tab1();<br />
                case 1:<br />
                     return new Tab2();<br />
                case 2:<br />
                    return new Tab4();<br />
            }<br />
        return  null;<br />
    }<br />
<br />
    @Override<br />
    public int getCount() {<br />
        return 3;<br />
    }<br />
<br />
    @Override<br />
    public CharSequence getPageTitle(int position) {<br />
        switch (position) {<br />
            case 0:<br />
                return "ALL";<br />
            case 1:<br />
                return "WESTERN";<br />
            case 2:<br />
                return "-";<br />
        }<br />
        return null;<br />
    }<br />
}</pre><br />





我尝试了什么:



是否有任何语法可以实现或解决这个问题?



What I have tried:

is there any syntax to acheive or solve this problem?

推荐答案

查看 removeTab | Android开发者 [ ^ ]


这篇关于如何在我的活动中删除tablayout中的标签?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆