有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Android菜单项单击选项

我的项目中有三个活动,即主活动、活动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) 个答案

  1. # 1 楼答案

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

    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) {
                     }
      

    最后,由于无法进入同一活动,因此可以使用

    finish();
    startActivity(getIntent());
    

    现在可以通过在空格中插入以上两行来重新加载活动,如果/或在我的代码中,如HOME的活动在主活动中是空的。上课
    我没有写上面的两行,只留下一行id==?空的,因为留下空的行不通

  2. # 2 楼答案

    别忘了将这两个活动都添加到AndroidManifest中。xml:

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