Member 12609609 Ответов: 1

Как удалить вкладку в tablayout в моей деятельности?


у меня есть 3 вкладки в моем TabLayout, мой вопрос, например, я хочу удалить или отключить одну или несколько конкретных вкладок из TabLayout и ViewPager, можно ли этого добиться, как я могу это сделать?

<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 />


Что я уже пробовал:

существует ли какой-либо синтаксис для достижения или решения этой проблемы?

1 Ответов

Рейтинг:
6

Peter Leow

Проверьте removeTab / разработчики Android[^]