当前位置: 首页 > 知识库问答 >
问题:

我正在使用Android模板导航抽屉活动,但如果我更改标题并添加片段,如果我单击它,它不会将我带到片段[重复]

农飞尘
2023-03-14

我使用Android模板打开了一个新的活动,用于导航抽屉活动。当我点击默认的导航抽屉时,它显示了不同的片段。

我已经更改了导航抽屉中选项的标题。但是如果我点击它,它不会把我带到片段。

我在模板的主活动中找不到任何itemSelected或onClick方法,我可以在其中更改代码以显示新片段。请帮助我如何调整代码以获得自己的片段。

'''

public class MainActivity extends AppCompatActivity {

    private AppBarConfiguration mAppBarConfiguration;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Toolbar toolbar = findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
        FloatingActionButton fab = findViewById(R.id.fab);
        fab.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Snackbar.make(view, "Replace with your own action", 
        Snackbar.LENGTH_LONG)
                        .setAction("Action", null).show();
            }
        });
        DrawerLayout drawer = findViewById(R.id.drawer_layout);

        NavigationView navigationView = findViewById(R.id.nav_view);

        // Passing each menu ID as a set of Ids because each
        // menu should be considered as top level destinations.
        mAppBarConfiguration = new AppBarConfiguration.Builder(
                R.id.nav_home, R.id.nav_order, R.id.nav_status)
                .setDrawerLayout(drawer)
                .build();
        NavController navController = Navigation.findNavController(this, 
        R.id.nav_host_fragment);
        NavigationUI.setupActionBarWithNavController(this, navController, 
        mAppBarConfiguration);
        NavigationUI.setupWithNavController(navigationView, navController);


    }



    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is 
       present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    @Override
    public boolean onSupportNavigateUp() {
        NavController navController = Navigation.findNavController(this, 
     R.id.nav_host_fragment);
        return NavigationUI.navigateUp(navController, mAppBarConfiguration)
                || super.onSupportNavigateUp();
    }
}

'''

共有1个答案

陶富
2023-03-14
//First set Navigation Item Selected listener 

navigationView.setNavigationItemSelectedListener(this);

//then override the onNavigationItemSelected method like this..
 @Override
    public boolean onNavigationItemSelected(@NonNull MenuItem item) {
        // Handle navigation view item clicks here.
        switch (item.getItemId()) {

            case R.id.home:
               //do something...
                break;
            case R.id.about:
                 //do something...
                break;



        }
 类似资料:
  • 问题内容: 我知道这些类型的问题已经在这里,但仍然找不到这个问题的答案: 我已经创建了一个应用程序,并使用了由该应用程序自动创建的导航抽屉(AndroidStudio) 这是我所拥有的: 还有更多: 我想使用导航抽屉中的按钮显示另一个片段。我想使用此代码,所以请不要向我发送任何制作自己的抽屉的指南或教程。 现在的问题是,我该怎么放 ,并在情况下,我想打开另一个片段?谢谢。 还有一个问题: 如何添加

  • 我已经从Android官方网站下载了示例项目http://developer.android.com/training/implementing-navigation/nav-drawer.html.我试图了解导航抽屉是如何工作的。所以,我有一个疑问,他们从左侧菜单中为每个项目调用一个片段。在我的项目中,我有一个大活动,我试图通过这个片段调用它: 公共类HomeFragment扩展了片段{ } 但

  • 问题内容: 我是Android编程的新手,但是到目前为止一直表现不错。我已经读过很多关于这个问题的答案,但似乎无法使我的工作正常。基本上,我拥有的是带有导航抽屉的MainActivity。我有两个用相应的片段布局xmls正确初始化的片段。目前,我可以在启动应用程序时以及在单击抽屉中的每个项目时显示我的第一个片段;标题会发生变化;但是,片段保持不变。有什么建议?我认为相关的代码在下面(未显示的是Na

  • 我是一名iOS开发者,我开始尝试将我的一个应用程序移植到Android。一切都很顺利,直到我遇到了一个问题,这让我在过去几天里步履维艰。 我的应用程序使用的是导航抽屉模板,工作正常。通过点击所需的导航项,我可以很容易地在片段之间切换。然而,问题是当我试图从现有片段中切换内容时。换句话说,我的一个片段上有一个按钮,单击时,我希望它用另一个片段替换内容。我已经使用以下代码实现了这一点: 当此代码切换到

  • 我所拥有的是左导航菜单,我使用抽屉菜单,它可以很好地与片段,我有五个按钮,每个按钮打开一个片段,但现在我希望每个案例打开一个活动,而不是片段,我已经尝试使用意图,但它不起作用!!这是我的代码: 那么,我应该在这段代码中修改什么,使它可以打开一个活动而不是片段???有人能帮我吗?

  • 出于某种原因,在抽屉外轻触时,导航抽屉不会关闭。它是MainActivity中带有ListView的另一个片段: 当点击右边的片段时,它不会关闭抽屉,相反,它的行为就像片段占据了整个屏幕,而点击侦听器在片段中仍然处于活动状态。 activity_main.xml: MainActivity.java: 不确定我做错了什么,因为在抽屉区域外敲击时关闭抽屉应该是抽屉布局中的默认行为。