Контекстное меню в TabLayout - PullRequest
       10

Контекстное меню в TabLayout

1 голос
/ 29 января 2020

Как вставить контекстное меню в одну вкладку. Например, я нажимаю на вкладку «Сортировка» и хочу отобразить меню с «Популярность, Повышение цены, По убыванию»

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    mToolbar=(Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(mToolbar);


    mTabLayout =(TabLayout) findViewById(R.id.tab_layout);
    mTabLayout.addTab(mTabLayout.newTab().setText("Sort"));
    mTabLayout.addTab(mTabLayout.newTab().setText("Filter"));
    mTabLayout.addTab(mTabLayout.newTab().setText("Map"));
    for(int i=0;i<mTabLayout.getTabCount();i++)
        mTabLayout.getTabAt(i).setIcon(imageResId[i]);
    mTabLayout.setTabGravity(TabLayout.GRAVITY_FILL);

    mViewPager=(ViewPager) findViewById(R.id.main_tabs_pager);
    PageAdapter pageAdapter=new PageAdapter(getSupportFragmentManager(),mTabLayout.getTabCount());
    mViewPager.setAdapter(pageAdapter);
    mViewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(mTabLayout));
    mTabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
        @Override
        public void onTabSelected(TabLayout.Tab tab) {
            if(tab.getPosition()==0) {
                registerForContextMenu((View) tab.view);
                Toast.makeText(getApplicationContext(),"TAB SORT",Toast.LENGTH_LONG).show();
            }else
                mViewPager.setCurrentItem(tab.getPosition());
        }

        @Override
        public void onTabUnselected(TabLayout.Tab tab) {

        }

        @Override
        public void onTabReselected(TabLayout.Tab tab) {

        }
    });
...