Android菜单项单击选项

时间:2017-08-25 01:58:51

标签: java android navigation-drawer

我的项目中有3个活动,即主要活动,活动1和活动2。我还为我的项目添加了一个导航抽屉。我想分别单击Home,Videos,ContactUs菜单项时切换活动。但我不知道该怎么做。

int id = item.getItemId();

    //Home menu item is clicked
    if (id == R.id.home){
        Intent intent = new Intent(MainActivity.this, MainActivity.class);
        MainActivity.this.startActivity(intent);
        return true;
    }

我测试了这段代码,但它失败了。

2 个答案:

答案 0 :(得分:0)

不要忘记将这两个活动添加到AndroidManifest.xml:

Intent launchNewIntent = new Intent(CurrentClass.this,SecondClass.class);
startActivityForResult(launchNewIntent, 0);

答案 1 :(得分:0)

您可以复制此代码并将其粘贴到相应的活动中

  1. 将其复制到onNavigationItemSelected()

    中的MainActivity.class
                int id = item.getItemId();            
                if (id == R.id.Home) {                    
                } else if (id == R.id.Videos) {
                    Intent intent = new Intent(MainActivity.this,Activity1.class);
                    startActivity(intent);            
                } else if (id == R.id.ContactUs) {
                    Intent intent = new Intent(MainActivity.this,Activity2.class);
                    startActivity(intent); }
    
  2. 将其复制到onNavigationItemSelected()

    中的Activity1.class
                    int id = item.getItemId();            
                    if (id == R.id.Home) {  
                        Intent intent = new Intent(Activity1.this,MainActivity.class);       
                        startActivity(intent);           
                    } else if (id == R.id.Videos) {    
                    } else if (id == R.id.ContactUs) {
                        Intent intent = new Intent(Activity1.this,Activity2.class);
                        startActivity(intent); }
    
  3. 将其复制到onNavigationItemSelected()

    中的Activity2.class
                   int id = item.getItemId();            
                   if (id == R.id.Home) {  
                       Intent intent = new Intent(Activity2.this,MainActivity.class);       
                       startActivity(intent);           
                   } else if (id == R.id.Videos) {   
                       Intent intent = new Intent(Activity2.this,Activity1.class);
                       startActivity(intent); 
                   } else if (id == R.id.ContactUs) {
                   }
    
  4. 最后,由于您无法进行相同的活动,因此可以使用

    重新加载/刷新它
    finish();
    startActivity(getIntent());
    

    您现在可以通过在空白中插入以上两行来重新加载活动if / else如果相应的活动在我的代码中如Home在MainActivity.class中为空。
    我没有写上面两行并留下一个id==?为空,因为留空不会做任何事情。