Javascript 如何将每个选项卡链接到导航抽屉?

Javascript 如何将每个选项卡链接到导航抽屉?,javascript,android,android-fragments,navigation-drawer,pagerslidingtabstrip,Javascript,Android,Android Fragments,Navigation Drawer,Pagerslidingtabstrip,由于我刚接触安卓系统,我遇到了一个小问题,实际上我不知道怎么做。实际上,我正在寻找一个导航抽屉菜单链接到每个选项卡。例如:将选项卡滑动为“tab1”、“tab2”和“tab3”,导航抽屉菜单也列出为“tab1”、“tab2”和;表3’。所以,当我从导航抽屉中单击“tab2”时,它应该会将我带到滑动选项卡的“tab2”。谁能帮我一下吗。 谢谢 //MainActivity.java 创建时受保护的void(Bundle savedInstanceState){ super.onCreate(s

由于我刚接触安卓系统,我遇到了一个小问题,实际上我不知道怎么做。实际上,我正在寻找一个导航抽屉菜单链接到每个选项卡。例如:将选项卡滑动为“tab1”、“tab2”和“tab3”,导航抽屉菜单也列出为“tab1”、“tab2”和;表3’。所以,当我从导航抽屉中单击“tab2”时,它应该会将我带到滑动选项卡的“tab2”。谁能帮我一下吗。 谢谢


//MainActivity.java
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mContext=这个;
列表=加载ContentActivity.list;
Toolbar Toolbar=(Toolbar)findViewById(R.id.Toolbar);
设置支持操作栏(工具栏);
最终ActionBar actionar=getSupportActionBar();
actionar.setDisplayHomeAsUpEnabled(true);
actionar.setHomeAsUpIndicator(R.drawable.ic_菜单);
mDrawerLayout=(抽屉布局)findViewById(R.id.抽屉布局);
NavigationView NavigationView=(NavigationView)findViewById(R.id.nav_视图);
if(navigationView!=null){
setupDrawerContent(导航视图);
}
ViewPager ViewPager=(ViewPager)findViewById(R.id.ViewPager);
if(viewPager!=null){
设置viewPager(viewPager);
}
TabLayout TabLayout=(TabLayout)findViewById(R.id.tabs);
tabLayout.setupWithViewPager(viewPager);
}
私有void setupDrawerContent(导航视图导航视图){
navigationView.setNavigationItemSelectedListener(
新建NavigationView.OnNavigationItemSelectedListener(){
@凌驾
公共布尔值onNavigationItemSelected(MenuItem MenuItem){
if(menuItem.getItemId()==R.id.tab_11){
startActivity(新意图(MainActivity.this,FragmentTab1.class));
}else if(menuItem.getItemId()==R.id.tab_22){
startActivity(新意图(MainActivity.this,FragmentTab2.class));
}else if(menuItem.getItemId()==R.id.tab_33){
startActivity(新意图(MainActivity.this,FragmentTab3.class));
}
返回true;
}
});
}
专用无效设置ViewPager(ViewPager ViewPager){
适配器适配器=新适配器(getSupportFragmentManager());
addFragment(新的FragmentTab1(),“CALLS”);
addFragment(新的FragmentTab2(),“CHATS”);
addFragment(新的FragmentTab3(),“CONTACTS”);
viewPager.setAdapter(适配器);
}
//TabsPagerAdapter.java
公共类选项卡SpagerAdapter扩展了FragmentPagerAdapter{
公共选项卡SpagerAdapter(FragmentManager fm){
超级(fm);
}
@凌驾
公共片段getItem(int索引){
开关(索引){
案例0:
返回新的FragmentTab1();
案例1:
返回新的FragmentTab2();
案例2:
返回新的FragmentTab3();
}
返回null;
}
@凌驾
public int getCount(){
返回3;
}

}
您不必再次启动相同的活动,因为这将导致它被推到后台。我建议您只需更改ViewPager中的当前片段

 ViewPager mViewPager;

 @Override
 protected void onCreate(Bundle savedInstanceState) {

  //your code

  mViewPager = (ViewPager) findViewById(R.id.viewpager);
 }

 private void setupDrawerContent(NavigationView navigationView) {
    navigationView.setNavigationItemSelectedListener(
            new NavigationView.OnNavigationItemSelectedListener() {
                @Override
                public boolean onNavigationItemSelected(MenuItem menuItem) {
                    if (menuItem.getItemId() == R.id.tab_11) {
                        mViewPager.setCurrentItem(0);
                    } else if (menuItem.getItemId() == R.id.tab_22) {
                        mViewPager.setCurrentItem(1);
                    } else if (menuItem.getItemId() == R.id.tab_33) {
                        mViewPager.setCurrentItem(2);
                    }
                    mDrawerLayout.closeDrawers();
                    return true;
                }
            });
}

MViewPage错误。如果要将任何内容导入MainActivity,java?MViewPage是ViewPager的对象。在代码中,ViewPager(ViewPager)对象声明为本地对象。我只是将变量设置为全局变量。你不必再进口任何东西了。很抱歉,我忘记关抽屉了。我已经更正了答案。@MohammedShamshid很高兴我能帮忙:)